Skip to main content

Mirage.SocketLayer

Classes

AckSystem

AckSystem.ReliablePacket

ArrayBatch

AutoCompleteToken

Token that invokes immediately

Batch

BufferFullException

ByteBuffer

Warpper around a byte[] that belongs to a

ByteUtils

Config

ConnectionExtensions

INotifyCallBackExtensions

MessageSizeException

Metrics

NoConnectionException

NotifyToken

Object returned from with events for when packet is Lost or Delivered

NotifyTokenException

Peer

Controls flow of data in/out of mirage, Uses

Pool<T>

Holds a collection of so they can be re-used without allocations

RateLimitBucket

ReliableBatch

RingBuffer<T>

Sequencer

A sequence generator that can wrap. For example a 2 bit sequencer would generate the following numbers: 0,1,2,3,0,1,2,3,0,1,2,3...

SocketFactory

Creates an instance of

SocketLayerException

Base Exception by all errors from using SocketLayer

Structs

AckSystem.ReliableReceived

Metrics.Frame

PoolMetrics

RateLimitBucket.RefillConfig

RingBuffer<T>.Option

Interfaces

IBindEndPoint

IConnectEndPoint

IConnection

Connection for

IConnectionHandle

Object that can be used as an endPoint or handle for and

Implementation of this should override and so that 2 instance wil be equal if they have the same address internally

When a new connection is received by Peer a copy of this endPoint will be created and given to that connection. On future received the incoming endPoint will be compared to active connections inside a dictionary

IDataHandler

Handles data from SocketLayer A high level script should implement this interface give it to Peer when it is created

IHasAddress

Can be added to SocketFactory that have an Address Setting

IHasPort

Can be added to SocketFactory that have a Port Setting

INotifyCallBack

Can be passed into and methods will be invoked when notify is delivered or lost

See the Notify Example on how to use this interface

INotifyToken

Object returned from with events for when packet is Lost or Delivered

IPeer

IRawConnection

A connection that can send data directly to sockets Only things inside socket layer should be sending raw packets. Others should use the methods inside

ISocket

Link between Mirage and the outside world

ISocketLayerConnection

Used by to get get the object directly to avoid lookup

ITime

Enums

Commands

Small message used to control a connection

and Commands uses their own byte/enum to split up the flow and add struture to the code.

ConnectionState

DisconnectReason

Reason why a connection was disconnected

PacketType

RejectReason

Reason for reject sent from server

Delegates

OnData

Delegate for handling incoming data from a connection. Should only be invoked from within .

OnDisconnect

Delegate for handling a disconnection from a connection. Should only be invoked from within .

Pool<T>.CreateNewItem

Pool<T>.CreateNewItemNoCount