private byte[] MainWrite(object obj) { MemoryStream ms = new MemoryStream(); PrimitiveValueWrapper mainStage = new PrimitiveValueWrapper(ms); Serializers[obj.GetType()].Serialize(mainStage, obj); mainStage.CompleteWrite(); mainStage.SetInvalid(); //Read Payload ms.Position = 0; byte[] buf = new byte[ms.Length]; ms.Read(buf, 0, buf.Length); ms.Close(); return(buf); }
public static byte[] WriteArray <T>(T[] input) { int len = input.Length; ASerializer s = SerializableTypes[typeof(T)]; MemoryStream ms = new MemoryStream(); PrimitiveValueWrapper pvw = new PrimitiveValueWrapper(ms); pvw.Write(len); for (int i = 0; i < input.Length; i++) { s.Serialize(pvw, input[i]); } pvw.CompleteWrite(); byte[] ret = ms.ToArray(); ms.Close(); return(ret); }
private static bool TryBaseWrite(Stream stream, BasePacket packet) { PrimitiveValueWrapper baseStage = new PrimitiveValueWrapper(stream); bool ret = true; try { BaseSerializer.Serialize(baseStage, packet); baseStage.CompleteWrite(); } catch (Exception) { ret = false; } baseStage.SetInvalid(); return(ret); }