Class SoMessageSerializer
Base implementation for message serializers.
Inheritance
Implements
Inherited Members
Namespace: SuperOffice.Messaging.Messages
Assembly: SoDataBase.dll
Syntax
public abstract class SoMessageSerializer : ISoMessageSerializer, IPlugin
Constructors
SoMessageSerializer()
Base implementation for message serializers.
Declaration
protected SoMessageSerializer()
Properties
MessageType
Abstract method to be implemented by message serializers.
Declaration
protected abstract Type MessageType { get; }
Property Value
Type | Description |
---|---|
Type |
Methods
Deserialize<TMessage>(Byte[])
Base implementation for message serializers.
Declaration
public static TMessage Deserialize<TMessage>(byte[] rawMessage)
where TMessage : SoMessageHeader, new()
Parameters
Type | Name | Description |
---|---|---|
Byte[] | rawMessage |
Returns
Type | Description |
---|---|
TMessage |
Type Parameters
Name | Description |
---|---|
TMessage |
RawDeserialize(Byte[], Int32, Type)
Perform raw de-serialization without meta data.
Declaration
public static object RawDeserialize(byte[] rawData, int position, Type anyType)
Parameters
Type | Name | Description |
---|---|---|
Byte[] | rawData | Data to de-serialize |
Int32 | position | Position inside the the data buffer to de-serialize |
Type | anyType | Type to de-serialize |
Returns
Type | Description |
---|---|
Object | De-serialized object. |
RawSerialize(Object)
Perform raw serialization without meta-data
Declaration
public static byte[] RawSerialize(object anything)
Parameters
Type | Name | Description |
---|---|---|
Object | anything | Object to serialize (without meta-data). |
Returns
Type | Description |
---|---|
Byte[] | De-serialized byte array. |
Serialize<TMessage>(TMessage)
Base implementation for message serializers.
Declaration
public static byte[] Serialize<TMessage>(TMessage message)
where TMessage : SoMessageHeader, new()
Parameters
Type | Name | Description |
---|---|---|
TMessage | message |
Returns
Type | Description |
---|---|
Byte[] |
Type Parameters
Name | Description |
---|---|
TMessage |
Explicit Interface Implementations
ISoMessageSerializer.Deserialize(Byte[])
De-serialize a raw message recieved over the network.
Declaration
SoMessageHeader ISoMessageSerializer.Deserialize(byte[] rawMessage)
Parameters
Type | Name | Description |
---|---|---|
Byte[] | rawMessage | Byte array forming message to de-serialize |
Returns
Type | Description |
---|---|
SoMessageHeader | De-serialized message. |
ISoMessageSerializer.Serialize(SoMessageHeader)
Serialize a message to a byte array so it can be sent over the network.
Declaration
byte[] ISoMessageSerializer.Serialize(SoMessageHeader message)
Parameters
Type | Name | Description |
---|---|---|
SoMessageHeader | message | Message to serialize. |
Returns
Type | Description |
---|---|
Byte[] | Byte array forming the message to be sent over the network. |