Class BowireStreamErrorKinds

Namespace
Kuestenlogik.Bowire
Assembly
Kuestenlogik.Bowire.dll

The Kind values Bowire's own plugins use.

public static class BowireStreamErrorKinds
Inheritance
BowireStreamErrorKinds
Inherited Members

Remarks

Constants rather than an enum, and that is the deliberate part. An enum in core would force every new plugin to press its failure into a word somebody else chose — which is the same mistake the old state made, only from the other direction: there, every plugin invented its own shape; with a closed enum, none could. A plugin whose protocol has a kind not listed here writes its own word and is not wrong.

The consumer treats an unknown kind as a failure like any other. The kind is for reading and filtering, never for control flow — nothing downstream may switch on it and fall through to "success" on a word it does not know.

Fields

Idle

Nothing arrived within the time the caller was willing to wait.

public const string Idle = "idle"

Field Value

string

NotConfigured

A prerequisite is missing on this host — an unloaded plugin, an unregistered receiver.

public const string NotConfigured = "not-configured"

Field Value

string

Protocol

The peer spoke the protocol wrongly, or refused the handshake.

public const string Protocol = "protocol"

Field Value

string

Refused

The peer declined: auth, quota, a policy rule.

public const string Refused = "refused"

Field Value

string

Server

The peer reported an error of its own and ended the stream.

public const string Server = "server"

Field Value

string

Transport

The connection failed or dropped: DNS, TCP, TLS, a socket close.

public const string Transport = "transport"

Field Value

string