Module network

Module network 

Source
Expand description

TODO - we need to reconcile what is in this crate with distributed::transports

Modules§

codec
Codec Module
egress
ingress
tcp
TCP Transport Module

Structs§

ConnectionInfo
Connection Info is encoded as JSON and then again serialized has part of the Transport Layer. The double serialization is not performance critical as it is only done once per connection. The primary reason storing the ConnecitonInfo has a JSON string is for type erasure. The Transport Layer will check the ConnectionInfo::transport type and then route it to the appropriate instance of the Transport, which will then deserialize the ConnectionInfo::info field to its internal connection info object.
Egress
Ingress
NetworkStreamWrapper
TODO: Detect end-of-stream using Server-Sent Events (SSE). This will be removed.
PendingConnections
After registering a stream, the PendingConnections object is returned to the caller. This object can be used to await the connection to be established.
RegisteredStream
The RegisteredStream object is acquired from a StreamProvider and is used to provide an awaitable receiver which will the T which is either a stream writer for a request stream or a stream reader for a response stream.
ResponseStreamPrologue
This is the first message in a ResponseStream. This is not a message that gets process by the general pipeline, but is a control message that is awaited before the AsyncEngine::generate method is allowed to return.
StreamOptions
When registering a new TransportStream on the server, the caller specifies if the stream is a sender, receiver or both.
StreamOptionsBuilder
Builder for StreamOptions.
StreamReceiver
StreamSender

Enums§

ControlMessage
StreamOptionsBuilderError
Error type for StreamOptionsBuilder
StreamType

Traits§

Codable
PushWorkHandler
ResponseService
A ResponseService implements a services in which a context a specific subject with will be associated with a stream of responses.
WorkQueueConsumer
WorkQueueConsumer is a generic interface for a work queue that can be used to send and receive

Type Aliases§

StreamProvider