Xabbo.Common Represents a type of game client. Represents an unknown client type. Represents the Flash client. Represents the Unity client. Represents all client types. A base class for implementations. This class provides the generic Send/Receive extension methods from within subclasses without requiring the keyword to access them. Sends a packet with the specified header to either the client or server, depending on the header destination. Sends a packet with the specified header to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Represents a connection to the game server. Gets if the connection is established. Gets a cancellation token that is triggered when the connection is lost. Gets the client type for this connnection. Gets the client identifier for this connection. Gets the client version for this connection. Gets the hotel this connection is associated with. Sends a packet to the client or server, specified by the destination of the packet's header. Asynchronously sends a packet to the client or server, specified by the destination of the packet's header. Asynchronously captures the first packet sent or received with any of the specified headers. Specifies which headers to listen for. The maximum time in milliseconds to wait for a packet to be captured. -1 specifies no timeout. Whether the captured packet should be blocked from its destination. The token used to cancel this operation. A task that completes once a packet has been captured, or the operation times out. Asynchronously captures the first packet sent or received with any of the specified headers, where the provided callback returns . Specifies which headers to listen for. A callback that may inspect packets with matching headers and return whether the packet should be captured or not. The maximum time in milliseconds to wait for a packet to be captured. -1 specifies no timeout. Whether the captured packet should be blocked from its destination. The token used to cancel this operation. A task that completes once a packet has been captured, or the operation times out. Provides extensions for sending generic values to a connection. Sends a packet with the specified header to either the client or server, depending on the header destination. Sends a packet with the specified header to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Sends a packet with the specified header and values to either the client or server, depending on the header destination. Specifies the author of the extension. Gets the author of the extension. Constructs a new with the specified author. Provides data for the event. Gets the current number of attempts made to connect to the remote interceptor. Gets or sets whether to retry connecting to the remote interceptor. Constructs a new . The current number of attempts made to connect to the remote interceptor. Specifies the description of the extension. Gets the description of the extension. Constructs a new with the specified description. Provides data for the event. Gets the error that caused the disconnection. Gets or sets whether to reconnect to the remote interceptor. Constructs a new . The error that caused the disconnection. Provides data for the event. Gets whether the game is already connected at the time of initialization, if provided by the interceptor service. Constructs a new . Whether the game is already connected at the time of initialization. Provides data for the event. Gets the host name. Gets the port. Gets the client type. Gets the client identifier, if it is available. Gets the client version, if it is available. Gets the path to the messages file, if it is available. Gets a list of client specific message information provided by the interceptor service. Constructs a new . Represents an extension interface provided by a packet interceptor service. Invoked when the extension has been initialized by the interceptor. Invoked when a connection to the game is established. Invoked when the extension is selected in the interceptor UI. Invoked when a packet has been intercepted. Invoked when the connection to the game ends. Represents an extension interface provided by a remote packet interceptor service. Gets the port that the remote interceptor is currently connected on. Gets whether the remote interceptor service is running or not. Gets whether a connection to the remote interceptor is established or not. Connects to the remote interceptor and processes incoming packets. Requests to stop the remote interceptor service. Invoked when connection to the remote interceptor fails. Invoked when a connection to the remote interceptor is established. Invoked when the connection to the remote interceptor ends. Specifies the title of the extension. Gets the title of the extension. Constructs a new with the specified title. Specifies the version of the extension. Gets the version of the extension. Constructs a new with the specified version. Defines the basic information of a hotel. Represents an unknown hotel. Contains the definitions of all hotels. Gets the name of this hotel. Gets the identifier of this hotel. Gets the subdomain of this hotel. Gets the domain of this hotel. Gets the web host for this hotel. Gets the game host for this hotel. Creates a new hotel instance. Creates a new hotel instance. Gets the hotel with the specified identifier. (ex. us) Gets the hotel with the specified domain. (ex. com) Gets the hotel with the specified host. (ex. www.habbo.com) Gets the hotel with the specified game host. (ex. game-us.habbo.com) Represents a packet interceptor that can read, modify and send packets. Gets the message manager associated with this interceptor. Gets the message dispatcher associated with this interceptor. A task that captures the first intercepted message with a specified header. Constructs a new targeting the specified headers. The interceptor to bind to. The headers to listen for. Whether to block the captured packet. A callback that may inspect an intercepted packet and return whether or not it should be captured. A base class used to implement a task that can intercept packets and asynchronously return a result. The result type of the task. The interceptor that this task is bound to. The incoming messages provided by the interceptor's message manager. The outgoing messages provided by the interceptor's message manager. Creates a new interceptor task bound to the specified interceptor. The interceptor to bind to. Executes the task synchronously and returns the result. The maximum number of milliseconds to wait for a result. Use -1 for no timeout. The cancellation token that can be used to cancel the task. Executes the task asynchronously and returns the result. The maximum number of milliseconds to wait for a result. Use -1 for no timeout. The cancellation token that can be used to cancel the task. If the task fails to complete within the specified timeout. Binds this task to the interceptor's dispatcher. Releases this task from the interceptor's dispatcher. Invoked when the connection ends while the interceptor task is in progress. Invoked when the task is executed. Attempts to set the result of this task to the specified value. Attempts to set the status of this task to canceled. Attempts to set the result of this task to the specified exception. Provides various extension methods for interceptors. Sends a packet with the specified header to either the client or server, depending on the header destination. Sends a packet with the specified header to either the client or server, depending on the header destination. Asynchronously receives a packet with any of the specified headers. Asynchronously captures a packet with any of the specified headers. Asynchronously receives a packet with the specified header. Registers a callback that is invoked when a packet with a matching header is intercepted. The interceptor. Specifies which headers to intercept. The handler to invoke when a message is intercepted. Binds the specified target object to the dispatcher. true if successfully bound, or false if the target does not have a receive or intercept attribute on any of its methods. Throws if any of the required message identifiers are unable to be resolved. Releases the specified target object from the dispatcher. Whether the binding was released or not. Specifies if this attribute is required for the interceptor binding to succeed. Specifies the clients which are required for the interceptor binding to succeed. Specifies the message identifiers. Represents the destination of a message. Represents the direction of a message. Represents a service that routes messages to callbacks and bound instances. Routes the specified packet to all handlers bound to this dispatcher. Routes the specified to all intercept handlers bound to this dispatcher. Gets whether the specified intercept handler is bound to this dispatcher or not. Binds the specified message handler to this dispatcher. Throws an exception if any of the message identifiers are unable to be resolved. The message handler to bind. Specifies which client headers must be resolved for the binding to be successful. true if successfully bound, or false if the intercept handler does not have any receive or intercept attributes on any of its methods. Releases the binding to the specified intercept handler. Whether the binding was released or not. Registers a callback that is invoked when a message with a matching header is intercepted. Specifies which headers to intercept. The callback to invoke when a message is intercepted. Specifies which client headers must be resolved for the binding to be successful. Registers a callback that is invoked when a packet with a matching header is intercepted. Specifies which headers to intercept. The callback to invoke when a message is intercepted. Specifies which client headers must be resolved for the binding to be successful. Removes the specified intercept callback bound to the target header and destination. Whether the callback was removed or not. Releases all bound intercept handlers and intercept callbacks. Gets the message manager used by this dispatcher. Creates a new using the specified . Dispatches the specified message to all bound receive callbacks. Dispatches the specified intercept arguments to all bound intercept callbacks. Releases all bindings, intercepts and receive callbacks. Specifies message header information for a specific client type. The client type of this header. The destination of this header. The value of this header. The name of this header. Returns true if the client, destination and value are equal. The name of the header is not tested for equality. Specifies message header information for multiple client types. Represents an unknown header. Gets the destination of this header. Gets if this is an incoming header. Gets if this is an outgoing header. Gets the header information for the Flash client. Gets the header information for the Unity client. Gets the explicit name of this header. Gets the explicit value of this header. If this value set, it overrides client header information. It should only be used when a dynamic header from the message manager is unavailable. Creates a new header with the specified destination and explicit value. Gets the header information for the specified client type. Gets the header value for the specified client type. Gets the name of the header for the specified client type. Returns the hash code of this header. Creates an outgoing header with the specified explicit value. Creates an incoming header with the specified explicit value. Converts the specified tuple into an array of headers. Represents a dictionary that stores s. Any children of this class may expose properties which will internally map to the dictionary by their name. The destination of the headers stored in this dictionary. Constructs a new header dictionary with the specified destination. Resets this dictionary and initializes it from the specified message information. Gets if a message with the specified name exists in this dictionary. Attempts to get the name of the message with the specified client type and header value. if the name of the message was found. Attempts to get the with the specified client type and value. if the header was found. Attempts to get the with the specified name. if the header was found. Gets the with the specified name, or throws if it does not exist. If a header with the specified name does not exist. Specifies a set of headers. A header dictionary that provides named incoming header properties based on the Unity client. A header dictionary that provides named outgoing header properties based on the Unity client. Represents a composable object that can be serialized to a packet. Writes this object to the specified packet. The packet to write to. Represents a message name and direction. Gets the destination of this message. Gets whether this is an outgoing message. Gets whether this is an incoming message. Gets the name of this message. Constructs a new message with the specified name and destination. The destination of the message. The name of the message. Returns a new with the destination changed. The new destination. A new instance of with the destination changed. Represents a set of s. Gets the identifiers in this set with an unknown destination. Gets the incoming identifiers in this set. Gets the outgoing identifiers in this set. Creates an empty identifier set. Creates an identifier set from the specified identifiers. Creates an identifier set from the specified incoming and outgoing names. The names of the incoming identifiers. The names of the outgoing identifiers. Adds a new identifier with the specified destination and name to this set. Adds a range of new identifiers with the specified destination and names to this set. Gets a string representation of this identifier set. Represents a handler that can be bound to an . The class implementing this interface should define methods decorated with , or . For a , the method signature must be (? sender, packet). For an , the method signature must be ( e). When an attempts to bind an , the message names (identifiers) specified in the attributes are resolved to s by the . If any required message header is unable to be resolved, the binding fails. If Required is set to false on the attribute and is unable to be resolved, it is silently ignored. Once an instance is bound, the methods decorated with those attributes will be invoked whenever a message matching the specified header is intercepted. Gets the destination of the message. Gets the direction of the message. Gets if the message is an incoming message. Gets if the message is an outgoing message. The name of the message in the Unity client, or null if it does not exist. The header value of the message for the unity client. The name of the message in the Flash client, or null if it does not exist. The header value of the message for the flash client. Represents a service that manages client specific message & header information. Initializes the message manager. Loads the specified client message information. Gets the incoming headers. Gets the outgoing headers. Gets the header with the specified identifier. Gets if a header with the specified identifier exists. Attempts to get a header by its identifier. Attempts to get a header by its destination and value. Attempts to get a header by its destination and name. Attempts to get a message's info by its direction and header. Attempts to get a message's info by its direction and name. Contains event arguments of an intercepted packet. Gets the interceptor that intercepted this packet. Gets the time that the packet was intercepted. Gets the destination of the packet. Gets the sequence number of the intercepted packet. Gets or replaces the intercepted packet. Gets the original, unmodified packet that was intercepted. Gets if the packet's destination is to the client. Gets if the packet's destination is to the server. Gets if the packet is to be blocked by the interceptor. Gets if the packet has been modified from its original state. Constructs a new InterceptArgs instance with the specified destination and packet. Flags the packet to be blocked from its destination by the interceptor. Disposes this InterceptArgs instance. Represents a that is serialized to a on Flash sessions for compatibility. Gets the value. Constructs a new with the specified value. Represents a that is serialized to an on Flash sessions for compatibility. Gets the value. Constructs a new with the specified value. Represents a that is serialized to an on Flash sessions for compatibility. Gets the value. Constructs a new with the specified value. Represents a writable packet of binary data with a message header. Gets or sets the message header of the packet. Gets the underlying buffer of the packet's data as a . Gets the underlying buffer of the packet's data as . Returns a span of bytes of the specified length from the current position in the packet that maps to the packet's internal buffer. If the length of the packet is insufficient, it will be increased and its internal buffer may be grown. Any bytes that already exist after the current position in the packet will be included from the start of the resulting span. Advances the packet's position by the specified length. Should be used with methods that write directly to a span without needing to allocate a new byte array, such as . Writes a composable object to the packet. Writes a boolean to the current position in the packet. Writes a boolean to the specified position in the packet. Writes a byte to the current position in the packet. Writes a byte to the specified position in the packet. Writes a short to the current position in the packet. Writes a short to the specified position in the packet. Writes an integer to the current position in the packet. Writes an integer to the specified position in the packet. Writes a float to the current position in the packet. Writes a float to the specified position in the packet. Writes a long to the current position in the packet. Writes a long to the specified position in the packet. Writes a string to the current position in the packet. Writes a string to the specified position in the packet. Writes a string representation of a float to the current position in the packet. Writes a string representation of a float to the specified position in the packet. Writes the specified bytes to the current position in the packet. Writes the specified bytes to the specified position in the packet. Writes a short or an int to the current position in the packet, depending on its protocol. If the protocol is Unity, writes a short. If the protocol is Flash, writes an int. Otherwise, throws an exception. Writes a float or a string to the current position in the packet, depending on its protocol. If the protocol is Unity, writes a float as 4 bytes. If the protocol is Flash, writes a string representation of a float. Otherwise, throws an exception. Writes a long or an int to the current position in the packet, depending on its protocol. If the protocol is Unity, writes a long. If the protocol is Flash, writes an int. Otherwise, throws an exception. Replaces a string at the current position in the packet. Adjusts the packet length and offsets any data after the string if the replacement causes the length to change. Throws if a string cannot be read at the current position in the packet. Replaces a string at the specified position in the packet. Adjusts the packet length and offsets any data after the string if the replacement causes the length to change. Throws if a string cannot be read at the specified position in the packet. Replaces a string at the current position in the packet using a transform function. Adjusts the packet length and offsets any data after the string if the replacement causes the length to change. Throws if a string cannot be read at the current position in the packet. Replaces the specified values in the packet. Represents a readable packet of binary data with a message header. Gets the client protocol hint of the packet. Gets the message header of the packet. Gets or sets the current position in the packet. Gets the length of the data in the packet. Gets the number of available bytes left in the packet. Gets the underlying buffer of the packet's data as a . Gets the underlying buffer of the packet's data as . Returns whether a boolean can be read from the current position in the packet. true if a byte can be read from the current position in the packet and its value is either 0 or 1. Returns whether a string can be read from the current position in the packet. Advances the packet's position by the specified number of bytes. Skips values of the specified types. Reads a boolean from the current position in the packet. Reads a boolean from the specified position in the packet. Reads a byte from the current position in the packet. Reads a byte from the specified position in the packet. Reads a short from the current position in the packet. Reads a from the specified position in the packet. Reads an integer from the current position in the packet. Reads an integer from the specified position in the packet. Reads a 32-bit floating point number from the current position in the packet. Reads a 32-bit floating point number from the specified position in the packet. Reads a long from the current position in the packet. Reads a long from the specified positions in the packet. Reads a string from the current position in the packet. Reads a string from the specified position in the packet. Reads a string from the current position in the packet and parses it into a floating point number. Reads a string from the specified position in the packet and parses it into a floating point number. Copies from the current position in the packet into the . Copies from the specified position in the packet into the Reads a short if the packet's protocol is Unity, an int if it is Flash, or throws if unknown. Reads a float if the packet's protocol is Unity, a float (as a string) if it is Flash, or throws if unknown. Reads a long if the packet's protocol is Unity, an int if it is Flash, or throws if unknown. Creates a copy of this packet. Represents a boolean as an 8-bit unsigned integer. Represents a UTF-8 encoded string preceded by a 2-byte integer specifying its length. Constructs a new packet with the specified protocol and message header. The packet protocol hint. The message header. The initial size in bytes of the packet data buffer. Constructs a new packet with the specified protocol and header, copying the into its internal buffer. Constructs a new packet with the specified protocol and header, copying the into its internal buffer. Grows the internal buffer by the specified number of bytes from the current position in the packet, if its size is insufficient. Grows the internal buffer to the specified minimum size, if its size is insufficient. Returns whether a byte can be read from the current position in the packet. true if the number of available bytes is >= 1. Returns whether a bool can be read from the current position in the packet. true if a byte can be read from the current position in the packet and its value is either 0 or 1. Returns whether an int can be read from the current position in the packet. Returns whether a string can be read from the current position in the packet. Returns whether a float can be read as a string from the current position in the packet. Skips a value of the specified type. Disposes of this packet and its memory. Manages messages of the Unity and Flash clients using a message mapping file. Whether to fetch the message map file from the Xabbo.Messages GitHub repo upon initialization if it does not exist locally. Gets the header Constructs a new using the specified configuration. Constructs a new using the message map file path. Initializes the messages from the message map Thrown when attempting to access a named header that does not exist. The identifier of the header. Thrown when attempting to access the value of a header which has not been resolved. The client for which the header is unresolved. The unresolved header. Provides extensions for reading/writing values to/from packets. Reads a generically typed value from the packet. The type of value to read. The packet to read from. The value read from the current postion in the packet. The specified type cannot be read from the packet. Reads a collection of values of the specified type into a list. The size of the list is read as an int on Flash sessions, or a short on Unity sessions. Writes the specified object to the packet. It is recommended to use the explicitly typed Write methods or the generically typed . The type of the specified object is not supported for packet serialization. Writes the specified collection of objects to the packet. The size of the collection is written as an int on Flash sessions, or a short on Unity sessions. Writes the specified enumerable to the packet. The number of items is written as an int on Flash sessions, or a short on Unity sessions. Writes the specified generically typed value to the packet. The type of the packet. The type of value to write. The packet. The value to write. A reference to this instance after the value has been written. The specified type is not supported for packet serialization. Writes the specified generically typed collection to the packet. The size of the collection is written as an int on Flash sessions, or a short on Unity sessions. Writes the specified generically typed enumerable to the packet. The number of items is written as an int on Flash sessions, or a short on Unity sessions. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Reads the specified generically typed values from the packet into a tuple. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet. Writes the specified generically typed values to the packet.