Mirror Networking
NetworkReaderPooled.cs
1// "NetworkReaderPooled" instead of "PooledNetworkReader" to group files, for
2// easier IDE workflow and more elegant code.
3using System;
4
5namespace Mirror
6{
7 [Obsolete("PooledNetworkReader was renamed to NetworkReaderPooled. It's cleaner & slightly easier to use.")]
9 {
10 internal PooledNetworkReader(byte[] bytes) : base(bytes) {}
11 internal PooledNetworkReader(ArraySegment<byte> segment) : base(segment) {}
12 }
13
15 // TODO make sealed again after removing obsolete NetworkReaderPooled!
16 public class NetworkReaderPooled : NetworkReader, IDisposable
17 {
18 internal NetworkReaderPooled(byte[] bytes) : base(bytes) {}
19 internal NetworkReaderPooled(ArraySegment<byte> segment) : base(segment) {}
20 public void Dispose() => NetworkReaderPool.Return(this);
21 }
22}
Network Reader for most simple types like floats, ints, buffers, structs, etc. Use NetworkReaderPool....
Pool of NetworkReaders to avoid allocations.
static void Return(NetworkReaderPooled reader)
Returns a reader to the pool.
Pooled NetworkReader, automatically returned to pool when using 'using'