Table of Contents

Namespace Xabbo.Messages

Classes

AmbiguousIdentifierException

Thrown when an identifier resolves to multiple message name sets.

Headers

Represents a set of Header.

Identifiers

Represents a set of Identifier.

InterceptGroup

Defines a set of related intercept handlers.

InterceptHandler

Associates a set of Identifier and/or Header with an InterceptCallback.

MessageDispatcher

Creates a new MessageDispatcher using the specified IMessageManager.

MessageManager

Manages messages between multiple clients using a mapping file.

MessageMap

Maps message names between clients.

Packet

Represents a packet of data with a message header.

PacketBuffer

Represents a resizable buffer backed by a rented memory span of byte from a MemoryPool<T> .

UnresolvedIdentifiersException

Thrown when a set of Identifiers fail to resolve to their respective Headers.

Structs

B64

Represents an unsigned fixed-length radix-64 encoded integer.

ClientMessage

Defines information about a client message.

Header

Specifies a direction and header value.

Identifier

Represents a client type, direction, and message name.

MessageNames

Defines an association of message names between clients.

PacketReader

Provides primitive packet read operations.

PacketWriter

Provides primitive packet write operations.

VL64

Represents a signed variable-length radix-64 encoded integer.

Interfaces

IComposer

Represents an object that can be composed to a packet.

IMessage

Represents a message with an associated identifier that can be composed to a packet.

IMessageDispatcher

Represents a service that routes intercepted messages to registered intercept handlers.

IMessageHandler

Represents a message handler that can be attached to an interceptor.

IMessageManager

Represents a service that manages client specific message & header information.

IMessage<TMsg>

Represents a message with an associated identifier that can be parsed from and composed to a packet.

IPacket

Represents a packet of data with a message header.

IParserComposer<T>

Represents an object that can be parsed from and composed to a packet.

IParserContext

Provides additional context to a PacketReader or PacketWriter.

IParser<T>

Represents an object that can be parsed from a packet.

IRequestFor<TRes>

Provides a method for a request message to check whether a response matches the request.

IRequestMessage<TReq, TRes>

Represents a request message with an associated response message.

IRequestMessage<TReq, TRes, TData>

Represents a request message with an associated response message and response data type.

IResponseData<TMsg, TData>

Represents a response message with an associated data type.

Delegates

InterceptCallback

Handles an intercepted packet.

InterceptCallback<TMsg>

Handles an intercepted message.

InterceptMessageCallback<TMsg>

Handles an intercepted message.

MessageCallback<TMsg>

Handles an intercepted message.

ModifyMessageCallback<TMsg>

Handles an intercepted message and allows the handler to modify the intercepted message by returning a modified or new IMessage instance.