Microsoft.Bot.Streaming.Payloads Namespace
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Classes
CancelDisassembler |
The PayloadDisassembler used used by Cancel requests. |
ContentStream |
A stream of fixed or infinite length containing content to be decoded. |
Header |
The 48-byte, fixed size, header prefaces every payload. The header must always have the same shape, regardless of if its payload is a request, response, or content.It is a period-delimited ASCII-encoded string terminated with a newline.All headers must have these segments, and all values must be zero padded to fill the correct number of bytes: |Title Size Description |Type 1 byte ASCII-encoded char. Describes the format of the payload(request, response, stream, etc.) |Delimiter 1 byte ASCII period character. |Length 6 bytes ASCII-encoded decimal. Size in bytes of this payload in ASCII decimal, not including the header. Zero padded. |Delimiter 1 byte ASCII period character. |ID 36 bytes ASCII-encoded hex. GUID (Request ID, Stream ID, etc.). |Delimiter 1 byte ASCII period character. |End 1 byte ASCII ‘0’ or ‘1’. Signals the end of a payload or multi-part payload. |Terminator 1 byte Hardcoded to \n . ex: A.000168.68e999ca-a651-40f4-ad8f-3aaf781862b4.1\n end example. |
HeaderSerializer |
The 48-byte, fixed size, header prefaces every payload. The header must always have the same shape, regardless of if its payload is a request, response, or content. It is a period-delimited ASCII-encoded string terminated with a newline. All headers must have these segments, and all values must be zero padded to fill the correct number of bytes: |Title Size Description |Type 1 byte ASCII-encoded char. Describes the format of the payload (request, response, stream, etc.) |Delimiter 1 byte ASCII period character |Length 6 bytes ASCII-encoded decimal. Size in bytes of this payload in ASCII decimal, not including the header. Zero padded. |Delimiter 1 byte ASCII period character |ID 36 bytes ASCII-encoded hex. GUID (Request ID, Stream ID, etc.) |Delimiter 1 byte ASCII period character |End 1 byte ASCII ‘0’ or ‘1’. Signals the end of a payload or multi-part payload |Terminator 1 byte Hardcoded to \n ex: A.000168.68e999ca-a651-40f4-ad8f-3aaf781862b4.1\n end example. |
PayloadDisassembler |
PayloadDisassemblers take data payloads and break them into chunks to be sent out over the transport and reassembled on the receiving side. This allows for payload multiplexing and avoids a single large payload from blocking the transport. |
PayloadStream |
An extension of Stream that operates in conjunction with a PayloadStreamAssembler to convert raw bytes into a consumable form. |
PayloadStreamAssembler |
An IAssembler specific to payload streams. |
PayloadTypes |
A set of well known definitions of PayloadStream types used by Headers. |
RequestDisassembler |
The PayloadDisassembler used for StreamingRequest payloads. |
RequestManager |
Manages the tasks involved in processing and responding to incoming StreamingRequests. |
ResponseDisassembler |
The PayloadDisassembler used for StreamingResponse payloads. |
ResponseMessageStream |
An attachment contained within a StreamingRequest's stream collection, which itself contains any form of media item. |
ResponseMessageStreamDisassembler |
The PayloadDisassembler used for ResponseMessageStream payloads. |
SendOperations |
A set of tasks used for attaching one or more PayloadDisassemblers to a single PayloadSender which multiplexes data chunks from multiple disassembled payloads and sends them out over the wire via a shared ITransportSender. |
StreamDescription |
An easily serializable object used to store the ID, Type, and Length of a PayloadStream without touching the stream itself. |
StreamManager |
StreamManagers are used to provide access to the objects involved in processing incoming PayloadStreams. |
StreamWrapper |
A wrapper class containing a stream and the length of that stream. Used to determine the length of a stream without touching the stream itself. |
Interfaces
IAssembler |
An assembler used to pull raw, disjointed, bytes from the incoming stream and assemble them into their original form. |
IContentStream |
Implemented by stream attachments compatible with the Bot Framework Protocol 3 with Streaming Extensions. |
IStreamManager |
StreamManagers are used to provide access to the objects involved in processing incoming PayloadStreams. |