PDComm.Secs1Options
Class
Line timing, retry and capacity options for a SECS-I (SEMI E4) endpoint.
public sealed record Secs1OptionsTimers are counted in ticks of the clock passed to the native poll; Secs1Worker polls with a millisecond clock, so every *Ticks value is in milliseconds there. Every timer and every capacity must be nonzero, Secs1Options.MaxOutboundBodyBytes and Secs1Options.MaxOutboundBlocks must not exceed Secs1Options.MaxBodyBytes and Secs1Options.MaxBlocks, and Secs1Options.MaxEventBodyBytes must be at least Secs1Options.MaxBodyBytes; otherwise creation fails with PdcommStatus.InvalidArgument. Values are application policy, not standard defaults.
Parameters
| Name | Description |
|---|---|
Priority | The line contention priority: 0 (Secs1Priority.Master) keeps sending when both sides bid for the line, 1 (Secs1Priority.Slave) yields. Other values are rejected. |
RetryLimit | The retry limit (RTY): how many times the endpoint restarts the ENQ handshake for a block that was not acknowledged before it reports the send as failed. |
GrantWaitTicks | The T2 protocol timeout for the EOT that answers this endpoint's ENQ, in ticks. |
AckWaitTicks | The T2 protocol timeout for a reply to this endpoint: the ACK or NAK after a sent block and the length character after a sent EOT, in ticks. |
InboundProgressTicks | The T1 inter-character timeout while a block is being received, in ticks. |
InterBlockTicks | The T4 inter-block timeout between the blocks of a multi-block message being received, in ticks. |
MaxBodyBytes | The largest message body, in bytes, that the endpoint sends or reassembles. |
MaxBlocks | The largest number of blocks in one message that the endpoint sends or reassembles. |
PollBudget | The largest number of I/O attempts one native poll makes. |
MaxIoChunk | The largest number of bytes passed to one read or write callback. |
MaxEvents | The largest number of events the endpoint queues before it applies backpressure. |
MaxEventBodyBytes | The largest total body size, in bytes, of the queued events. |
MaxOutboundBodyBytes | The largest body, in bytes, accepted for one submitted message. |
MaxOutboundBlocks | The largest number of blocks accepted for one submitted message. |
Members
Secs1Options
Constructor
Line timing, retry and capacity options for a SECS-I (SEMI E4) endpoint.
public Secs1Options(uint Priority, byte RetryLimit, uint GrantWaitTicks, uint AckWaitTicks, uint InboundProgressTicks, uint InterBlockTicks, nuint MaxBodyBytes, ushort MaxBlocks, nuint PollBudget, nuint MaxIoChunk, nuint MaxEvents, nuint MaxEventBodyBytes, nuint MaxOutboundBodyBytes, nuint MaxOutboundBlocks)Timers are counted in ticks of the clock passed to the native poll; Secs1Worker polls with a millisecond clock, so every *Ticks value is in milliseconds there. Every timer and every capacity must be nonzero, Secs1Options.MaxOutboundBodyBytes and Secs1Options.MaxOutboundBlocks must not exceed Secs1Options.MaxBodyBytes and Secs1Options.MaxBlocks, and Secs1Options.MaxEventBodyBytes must be at least Secs1Options.MaxBodyBytes; otherwise creation fails with PdcommStatus.InvalidArgument. Values are application policy, not standard defaults.
Parameters
| Name | Description |
|---|---|
Priority | The line contention priority: 0 (Secs1Priority.Master) keeps sending when both sides bid for the line, 1 (Secs1Priority.Slave) yields. Other values are rejected. |
RetryLimit | The retry limit (RTY): how many times the endpoint restarts the ENQ handshake for a block that was not acknowledged before it reports the send as failed. |
GrantWaitTicks | The T2 protocol timeout for the EOT that answers this endpoint's ENQ, in ticks. |
AckWaitTicks | The T2 protocol timeout for a reply to this endpoint: the ACK or NAK after a sent block and the length character after a sent EOT, in ticks. |
InboundProgressTicks | The T1 inter-character timeout while a block is being received, in ticks. |
InterBlockTicks | The T4 inter-block timeout between the blocks of a multi-block message being received, in ticks. |
MaxBodyBytes | The largest message body, in bytes, that the endpoint sends or reassembles. |
MaxBlocks | The largest number of blocks in one message that the endpoint sends or reassembles. |
PollBudget | The largest number of I/O attempts one native poll makes. |
MaxIoChunk | The largest number of bytes passed to one read or write callback. |
MaxEvents | The largest number of events the endpoint queues before it applies backpressure. |
MaxEventBodyBytes | The largest total body size, in bytes, of the queued events. |
MaxOutboundBodyBytes | The largest body, in bytes, accepted for one submitted message. |
MaxOutboundBlocks | The largest number of blocks accepted for one submitted message. |
AckWaitTicks
Property
The T2 protocol timeout for a reply to this endpoint: the ACK or NAK after a sent block and the length character after a sent EOT, in ticks.
public uint AckWaitTicks { get; init; }GrantWaitTicks
Property
The T2 protocol timeout for the EOT that answers this endpoint's ENQ, in ticks.
public uint GrantWaitTicks { get; init; }InboundProgressTicks
Property
The T1 inter-character timeout while a block is being received, in ticks.
public uint InboundProgressTicks { get; init; }InterBlockTicks
Property
The T4 inter-block timeout between the blocks of a multi-block message being received, in ticks.
public uint InterBlockTicks { get; init; }MaxBlocks
Property
The largest number of blocks in one message that the endpoint sends or reassembles.
public ushort MaxBlocks { get; init; }MaxBodyBytes
Property
The largest message body, in bytes, that the endpoint sends or reassembles.
public nuint MaxBodyBytes { get; init; }MaxEventBodyBytes
Property
The largest total body size, in bytes, of the queued events.
public nuint MaxEventBodyBytes { get; init; }MaxEvents
Property
The largest number of events the endpoint queues before it applies backpressure.
public nuint MaxEvents { get; init; }MaxIoChunk
Property
The largest number of bytes passed to one read or write callback.
public nuint MaxIoChunk { get; init; }MaxOutboundBlocks
Property
The largest number of blocks accepted for one submitted message.
public nuint MaxOutboundBlocks { get; init; }MaxOutboundBodyBytes
Property
The largest body, in bytes, accepted for one submitted message.
public nuint MaxOutboundBodyBytes { get; init; }PollBudget
Property
The largest number of I/O attempts one native poll makes.
public nuint PollBudget { get; init; }Priority
Property
The line contention priority: 0 (Secs1Priority.Master) keeps sending when both sides bid for the line, 1 (Secs1Priority.Slave) yields. Other values are rejected.
public uint Priority { get; init; }RetryLimit
Property
The retry limit (RTY): how many times the endpoint restarts the ENQ handshake for a block that was not acknowledged before it reports the send as failed.
public byte RetryLimit { get; init; }