public Peer(ISocket socket, IDataHandler dataHandler, Config config = null, ILogger logger = null) { this.logger = logger ?? Debug.unityLogger; this.config = config ?? new Config(); this.socket = socket ?? throw new ArgumentNullException(nameof(socket)); this.dataHandler = dataHandler ?? throw new ArgumentNullException(nameof(dataHandler)); time = new Time(); connectKeyValidator = new ConnectKeyValidator(); bufferPool = new BufferPool(this.config.Mtu, this.config.BufferPoolStartSize, this.config.BufferPoolMaxSize, this.logger); }
public Peer(ISocket socket, IDataHandler dataHandler, Config config = null, ILogger logger = null, Metrics metrics = null) { this.logger = logger; this.metrics = metrics; this.config = config ?? new Config(); this.socket = socket ?? throw new ArgumentNullException(nameof(socket)); this.dataHandler = dataHandler ?? throw new ArgumentNullException(nameof(dataHandler)); time = new Time(); connectKeyValidator = new ConnectKeyValidator(); bufferPool = new Pool <ByteBuffer>(ByteBuffer.CreateNew, this.config.MaxPacketSize, this.config.BufferPoolStartSize, this.config.BufferPoolMaxSize, this.logger); Application.quitting += Application_quitting; }
public Peer(ISocket socket, int maxPacketSize, IDataHandler dataHandler, Config config = null, ILogger logger = null, Metrics metrics = null) { _logger = logger; _metrics = metrics; _config = config ?? new Config(); _maxPacketSize = maxPacketSize; if (maxPacketSize < AckSystem.MIN_RELIABLE_HEADER_SIZE + 1) { throw new ArgumentException($"Max packet size too small for AckSystem header", nameof(maxPacketSize)); } _socket = socket ?? throw new ArgumentNullException(nameof(socket)); _dataHandler = dataHandler ?? throw new ArgumentNullException(nameof(dataHandler)); _time = new Time(); _connectKeyValidator = new ConnectKeyValidator(_config.key); _bufferPool = new Pool <ByteBuffer>(ByteBuffer.CreateNew, maxPacketSize, _config.BufferPoolStartSize, _config.BufferPoolMaxSize, _logger); Application.quitting += Application_quitting; }