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
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
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