Skip to content
Start free evaluation

PDComm.Secs1Options

Class

Line timing, retry and capacity options for a SECS-I (SEMI E4) endpoint.

public sealed record Secs1Options

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

NameDescription
PriorityThe line contention priority: 0 (Secs1Priority.Master) keeps sending when both sides bid for the line, 1 (Secs1Priority.Slave) yields. Other values are rejected.
RetryLimitThe 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.
GrantWaitTicksThe T2 protocol timeout for the EOT that answers this endpoint's ENQ, in ticks.
AckWaitTicksThe 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.
InboundProgressTicksThe T1 inter-character timeout while a block is being received, in ticks.
InterBlockTicksThe T4 inter-block timeout between the blocks of a multi-block message being received, in ticks.
MaxBodyBytesThe largest message body, in bytes, that the endpoint sends or reassembles.
MaxBlocksThe largest number of blocks in one message that the endpoint sends or reassembles.
PollBudgetThe largest number of I/O attempts one native poll makes.
MaxIoChunkThe largest number of bytes passed to one read or write callback.
MaxEventsThe largest number of events the endpoint queues before it applies backpressure.
MaxEventBodyBytesThe largest total body size, in bytes, of the queued events.
MaxOutboundBodyBytesThe largest body, in bytes, accepted for one submitted message.
MaxOutboundBlocksThe 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

NameDescription
PriorityThe line contention priority: 0 (Secs1Priority.Master) keeps sending when both sides bid for the line, 1 (Secs1Priority.Slave) yields. Other values are rejected.
RetryLimitThe 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.
GrantWaitTicksThe T2 protocol timeout for the EOT that answers this endpoint's ENQ, in ticks.
AckWaitTicksThe 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.
InboundProgressTicksThe T1 inter-character timeout while a block is being received, in ticks.
InterBlockTicksThe T4 inter-block timeout between the blocks of a multi-block message being received, in ticks.
MaxBodyBytesThe largest message body, in bytes, that the endpoint sends or reassembles.
MaxBlocksThe largest number of blocks in one message that the endpoint sends or reassembles.
PollBudgetThe largest number of I/O attempts one native poll makes.
MaxIoChunkThe largest number of bytes passed to one read or write callback.
MaxEventsThe largest number of events the endpoint queues before it applies backpressure.
MaxEventBodyBytesThe largest total body size, in bytes, of the queued events.
MaxOutboundBodyBytesThe largest body, in bytes, accepted for one submitted message.
MaxOutboundBlocksThe 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; }