• Home
  • Tutorials
  • API Documentation
  • Asset Store
Show / Hide Table of Contents
  • SuperNet.Netcode.Compress
    • CompressorDeflate
    • CompressorLZF
    • ICompressor
  • SuperNet.Netcode.Crypto
    • CryptoAES
    • CryptoECDH
    • CryptoRandom
    • CryptoRSA
    • Curve25519
    • ICryptoAuthenticator
    • ICryptoEncryptor
    • ICryptoExchanger
    • ICryptoRandom
  • SuperNet.Netcode.Transport
    • ConnectionRequest
    • DisconnectReason
    • Host
    • HostConfig
    • HostEvents
    • HostStatistics
    • HostTimespan
    • HostTimestamp
    • IHostListener
    • IMessage
    • IMessageListener
    • IPeerListener
    • MessageEvents
    • MessageReceived
    • MessageSent
    • Peer
    • PeerConfig
    • PeerEvents
    • PeerStatistics
  • SuperNet.Netcode.Util
    • Allocator
    • ArrayPool<T>
    • CRC32
    • IPComparer
    • IPResolver
    • IWritable
    • ObjectPool<T>
    • Reader
    • Serializer
    • Writer
  • SuperNet.Unity.Components
    • INetworkAuthoritative
    • INetworkRegisterable
    • INetworkRollbackable
    • NetworkAnimation
    • NetworkAnimator
    • NetworkAuthority
    • NetworkPrefab
    • NetworkRegistrar
    • NetworkSpawner
    • NetworkSyncModeMethod
    • NetworkSyncModeVector2
    • NetworkSyncModeVector3
    • NetworkTransform
  • SuperNet.Unity.Core
    • NetworkComponent
    • NetworkHost
    • NetworkIdentity
    • NetworkIdentityExtensions
    • NetworkManager
  • SuperNet.Unity.Editor
    • NetworkAuthorityEditor
    • NetworkHostEditor
    • NetworkHostEditor.BandwithUnit
    • NetworkIdentityDrawer
    • NetworkManagerEditor
    • NetworkPrefabEditor
    • NetworkSpawnerEditor

Class Allocator

Inheritance
System.Object
Allocator
Namespace: SuperNet.Netcode.Util
Assembly: cs.temp.dll.dll
Syntax
public sealed class Allocator

Constructors

Allocator()

Create a new allocator without any pooling.

Declaration
public Allocator()

Allocator(HostConfig)

Create a new allocator for a host.

Declaration
public Allocator(HostConfig config)
Parameters
Type Name Description
HostConfig config

Configuration to use.

Methods

CreateIV(Int32)

Allocate a new IV array for crypto.

Declaration
public byte[] CreateIV(int length)
Parameters
Type Name Description
System.Int32 length

Length of the array.

Returns
Type Description
System.Byte[]

A new unused array.

CreateKey(Int32)

Allocate a new key array for crypto.

Declaration
public byte[] CreateKey(int length)
Parameters
Type Name Description
System.Int32 length

Length of the array.

Returns
Type Description
System.Byte[]

A new unused array.

CreateMessage(Int32)

Allocate a new resizable array to store a single message.

Declaration
public byte[] CreateMessage(int minimumLength)
Parameters
Type Name Description
System.Int32 minimumLength

Minimum length of the returned array.

Returns
Type Description
System.Byte[]

A new unused array.

CreatePacket(Int32)

Allocate a new short array to store a single packet.

Declaration
public byte[] CreatePacket(int minimumLength)
Parameters
Type Name Description
System.Int32 minimumLength

Minimum length of the returned array.

Returns
Type Description
System.Byte[]

A new unused array.

CreateSent()

Allocate a new sent message storage used by peers.

Declaration
public Dictionary<Tuple<byte, ushort>, MessageSent> CreateSent()
Returns
Type Description
System.Collections.Generic.Dictionary<Tuple<System.Byte, System.UInt16>, MessageSent>

A new unused sent message storage.

CreateSet()

Allocate a new HashSet used by peers.

Declaration
public HashSet<Tuple<byte, ushort>> CreateSet()
Returns
Type Description
HashSet<Tuple<System.Byte, System.UInt16>>

A new unused HashSet.

CreateSocketArgs(EventHandler<SocketAsyncEventArgs>)

Declaration
public SocketAsyncEventArgs CreateSocketArgs(EventHandler<SocketAsyncEventArgs> callback)
Parameters
Type Name Description
EventHandler<SocketAsyncEventArgs> callback
Returns
Type Description
SocketAsyncEventArgs

ExpandMessage(Byte[], Int32, Int32)

Resize a message array to a larger size.

Declaration
public byte[] ExpandMessage(byte[] array, int offset, int length = 1)
Parameters
Type Name Description
System.Byte[] array

Array to resize.

System.Int32 offset

Current array offset.

System.Int32 length

Length beyond the array offset to add.

Returns
Type Description
System.Byte[]

A new resized array with copied data.

HashTableCreate(Int32)

Allocate a new hash table array for the LZF compressor.

Declaration
public long[] HashTableCreate(int length)
Parameters
Type Name Description
System.Int32 length

Length of the array.

Returns
Type Description
System.Int64[]

A new unused array.

HashTableReturn(Int64[])

Return a hash table array back to the pool.

Declaration
public void HashTableReturn(long[] array)
Parameters
Type Name Description
System.Int64[] array

Array to return.

ReturnIV(ref Byte[])

Return an IV array back to the pool.

Declaration
public void ReturnIV(ref byte[] array)
Parameters
Type Name Description
System.Byte[] array

Array to return.

ReturnKey(ref Byte[])

Return a key array back to the pool.

Declaration
public void ReturnKey(ref byte[] array)
Parameters
Type Name Description
System.Byte[] array

Array to return.

ReturnMessage(ref Byte[])

Return a message array back to the pool.

Declaration
public void ReturnMessage(ref byte[] array)
Parameters
Type Name Description
System.Byte[] array

Array to return.

ReturnPacket(ref Byte[])

Return a packet array back to the pool.

Declaration
public void ReturnPacket(ref byte[] array)
Parameters
Type Name Description
System.Byte[] array

Array to return.

ReturnSent(ref Dictionary<Tuple<Byte, UInt16>, MessageSent>)

Return a sent message storage back to the pool.

Declaration
public void ReturnSent(ref Dictionary<Tuple<byte, ushort>, MessageSent> set)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<Tuple<System.Byte, System.UInt16>, MessageSent> set

Sent message storage to return.

ReturnSet(ref HashSet<Tuple<Byte, UInt16>>)

Return a HashSet back to the pool.

Declaration
public void ReturnSet(ref HashSet<Tuple<byte, ushort>> set)
Parameters
Type Name Description
HashSet<Tuple<System.Byte, System.UInt16>> set

HashSet to return.

ReturnSocketArgs(ref SocketAsyncEventArgs)

Declaration
public void ReturnSocketArgs(ref SocketAsyncEventArgs args)
Parameters
Type Name Description
SocketAsyncEventArgs args

SequenceNew(Int32)

Allocate a new array to store message sequence for each channel.

Declaration
public int[] SequenceNew(int channels)
Parameters
Type Name Description
System.Int32 channels

Number of channels.

Returns
Type Description
System.Int32[]

A new unused array.

SequenceReturn(ref Int32[])

Return a sequence array back to the pool.

Declaration
public void SequenceReturn(ref int[] array)
Parameters
Type Name Description
System.Int32[] array

Array to return.

TokensNew(Int32)

Allocate a new cancellation token array for each channel.

Declaration
public CancellationTokenSource[] TokensNew(int channels)
Parameters
Type Name Description
System.Int32 channels

Number of channels.

Returns
Type Description
CancellationTokenSource[]

A new unused array.

TokensReturn(ref CancellationTokenSource[])

Return a cancellation token array back to the pool.

Declaration
public void TokensReturn(ref CancellationTokenSource[] array)
Parameters
Type Name Description
CancellationTokenSource[] array

Array to return.

Back to top Generated by DocFX