Nebula
Transport

LiteNetTransport

ITransport over LiteNetLib.

generated from the sources
public sealed class LiteNetTransport : ITransport, INetEventListener

ITransport over LiteNetLib. Sequenced maps to DeliveryMethod.Sequenced, everything else to DeliveryMethod.ReliableOrdered. Two LiteNetLib channels are used so a large reliable message cannot head-of-line block the transform stream. Events are queued by LiteNetLib and drained on the caller's thread inside Poll.

Constructors

LiteNetTransport

public LiteNetTransport(string name);
public LiteNetTransport(string name, int disconnectTimeoutMs, int pingIntervalMs);

A transport whose links end after disconnectTimeoutMs without a packet from the remote, and that sends a keep-alive ping every pingIntervalMs. The ping interval is kept to at least 10 ms and the timeout to at least twice the ping interval.

Fields

ConnectionKey

public const string ConnectionKey = "nebula-v1";

DefaultDisconnectTimeoutMs

public const int DefaultDisconnectTimeoutMs = 8000;

The disconnect timeout a transport gets when none is given: 8 s without a packet ends a link.

DefaultPingIntervalMs

public const int DefaultPingIntervalMs = 500;

The keep-alive ping interval a transport gets when none is given.

Properties

DisconnectTimeoutMs

public int DisconnectTimeoutMs { get; }

Milliseconds without a packet from the remote after which a link ends with TransportDisconnectReason.Timeout.

PingIntervalMs

public int PingIntervalMs { get; }

Milliseconds between keep-alive pings.

Name

public string Name { get; }

IsRunning

public bool IsRunning { get; }

LocalPort

public int LocalPort { get; }

Methods

Listen

public void Listen(int port);

StartClient

public void StartClient();

Connect

public int Connect(string host, int port);

Disconnect

public void Disconnect(int peerId);

IsConnected

public bool IsConnected(int peerId);

RoundTripMs

public int RoundTripMs(int peerId);

Send

public void Send(int peerId, Delivery delivery, ArraySegment<byte> payload);

Poll

public void Poll(Action<TransportEvent> handler);

Flush

public void Flush();

Stop

public void Stop();

Dispose

public void Dispose();

On this page