Skip to main content

Mirage.SocketLayer

Classes

AckSystem

AckSystem.ReliablePacket

ArrayBatch

AutoCompleteToken

Token that invokes immediately

Batch

ByteBuffer

Warpper around a byte[] that belongs to a

ByteUtils

Config

ConnectionExtensions

INotifyCallBackExtensions

Metrics

NotifyToken

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

Peer

Controls flow of data in/out of mirage, Uses

Pool<T>

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

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

Structs

AckSystem.ReliableReceived

Metrics.Frame

PoolMetrics

Interfaces

IConnection

Connection for

IDataHandler

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

IEndPoint

Object that can be used as an endpoint 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

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

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

Pool<T>.CreateNewItem

Pool<T>.CreateNewItemNoCount