public void Deserialize(AMessage message, BytesBuffer bb) { foreach (var deserializer in deserializers) { deserializer(message, bb); } }
public void Serialize(AMessage message, BytesBuffer bb) { foreach (var serializer in serializers) { serializer(message, bb); } }
public byte[] ToBytes() { BytesBuffer bb = new BytesBuffer(128); messageType.Serialize(this, bb); return(bb.ToByteArray()); }
public static AMessage Create(byte id, BytesBuffer bb) { AMessage result = null; MessageType messageType = messageTypes[id]; if (messageType != null) { result = (AMessage)Activator.CreateInstance(messageType.MessageClassType); messageType.Deserialize(result, bb); } return(result); }
public MessageWriteState(Stream stream, AMessage message, AsyncResult asyncResult) { this.stream = stream; this.message = message; this.asyncResult = asyncResult; byte[] data = message.ToBytes(); int headerSize = 1 + sizeof(int); buffer = new byte[headerSize + data.Length]; // Populate the header buffer[0] = message.Id; BytesBuffer.ToBytes(data.Length, sizeof(int), buffer, 1); // Populate the data Array.Copy(data, 0, buffer, headerSize, data.Length); }
public int GetDataLength() { return((int)BytesBuffer.FromBytes(4, header, 1)); }
public void Serialize(BytesBuffer bb) { messageType.Serialize(this, bb); }