Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
        }
Beispiel #3
0
        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;
        }