internal IPacket Unpack(byte[] data, PackConfig cfg) { if (cfg != null) { data = cfg.PreUnpacking(data); } using (MemoryStream ms = new MemoryStream(data)) return((IPacket)_nsSerializer.Deserialize(ms)); }
internal byte[] Pack(IPacket p, PackConfig cfg) { using (MemoryStream ms = new MemoryStream()) { _nsSerializer.Serialize(ms, p); byte[] data = ms.ToArray(); if (cfg != null) { data = cfg.PostPacking(data); } return(data); } }
internal byte[] PackArray(object[] arr, PackConfig cfg) { return(Pack(new ObjectArrayPacket(arr), cfg)); }