/// <summary> /// Deserializes a packet from a stream /// </summary> public static Packet DeserializePacket(this Serialization serialization, Stream from) { switch (serialization) { case Serialization.NATIVE: return(NativeSerialization.DeserializePacket(from)); case Serialization.PROTOBUF: return(ProtobufSerialization.DeserializePacket(from)); } throw new ArgumentException("Unrecognized serialization method: " + serialization); }
/// <summary> /// Serializes a packet and returns a memory stream containing streamed bytes (position is start of serialization) /// </summary> public static MemoryStream SerializePacket(this Serialization serialization, Packet p) { switch (serialization) { case Serialization.NATIVE: return(NativeSerialization.SerializePacket(p)); case Serialization.PROTOBUF: return(ProtobufSerialization.SerializePacket(p)); } throw new ArgumentException("Unrecognized serialization method: " + serialization); }