private PooledSegment SerializeObject(object value)
        {
            using (var ms = new PooledMemoryStream(allocator))
            {
                new BinaryFormatter().Serialize(ms, value);

                var retval = new PooledSegment(allocator, (int)ms.Length);
                ms.Position = 0;
                ms.Read(retval.Array, 0, retval.Count);

                return(retval);
            }
        }
        private ByteBuffer SerializeObject(object value)
        {
            using (var ms = new PooledMemoryStream(allocator))
            {
                new BinaryFormatter().Serialize(ms, value);

                var retval = new ByteBuffer(allocator, allocator.Take((int)ms.Length), (int)ms.Length);
                ms.Position = 0;
                ms.Read(retval.Array, 0, retval.Length);

                return(retval);
            }
        }