Пример #1
0
 public Connection(IServerTrace trace, AppDelegate app, ISocket socket, Action<ISocket> disconnected)
 {
     _trace = trace;
     _app = app;
     _socket = socket;
     _disconnected = disconnected;
 }
Пример #2
0
        public SocketListener(SocketListenerSettings <TU> settings, IMessageHandler <T, TU> messageHandler, IServerTrace <TU> trace = null)
        {
            _settings       = settings;
            _messageHandler = messageHandler;
            _trace          = trace ?? new NullServerTrace <TU>();

            // Create buffer
            var totalBufferSize = settings.IoBufferSize * settings.SendReceiveSocketPoolSize * settings.OperationTypesToPreAllocate;
            var itemBufferSize  = settings.IoBufferSize * settings.OperationTypesToPreAllocate;

            _bufferManager = new BufferManager(totalBufferSize, itemBufferSize);

            // Create socket pool
            _workerPool = new SocketAsyncEventArgsPool(settings.SendReceiveSocketPoolSize);
            _acceptPool = new SocketAsyncEventArgsPool(settings.MaxSimultaneousAcceptOperations);

            // Create watchdog
            _watchDog = new WatchDog <T, TU>(_settings, _trace);

            // Create connection count enforcer
            _maxConnectionsEnforcer = new Semaphore(settings.MaxConnections, settings.MaxConnections);

            _taskManager = new TaskFactory(new LimitedConcurrencyLevelTaskScheduler(settings.MaxTaskConcurrencyLevel));

            Initialise();
        }
Пример #3
0
        public WatchDog(SocketListenerSettings <TU> settings, IServerTrace <TU> trace)
        {
            _settings = settings;
            _trace    = trace;

            _activeConnections = new HashSet <SocketAsyncEventArgs>();
            _cts = new CancellationTokenSource();
        }
Пример #4
0
 internal Heartbeat(IHeartbeatHandler[] callbacks, ISystemClock systemClock, IDebugger debugger, IServerTrace trace, TimeSpan interval)
 {
     _callbacks   = callbacks;
     _systemClock = systemClock;
     _debugger    = debugger;
     _trace       = trace;
     _interval    = interval;
 }
Пример #5
0
 public ServerFactory(IServerTrace trace)
     : this(new FireflyService {
     Trace = trace
 })
 {
 }
Пример #6
0
 public Heartbeat(IHeartbeatHandler[] callbacks, ISystemClock systemClock, IDebugger debugger, IServerTrace trace) : this(callbacks, systemClock, debugger, trace, Interval)
 {
 }
Пример #7
0
 public ServerFactory(IServerTrace trace)
     : this(new FireflyService {Trace = trace})
 {
 }
Пример #8
0
 public ServerFactory(IServerTrace trace)
 {
     _trace = trace;
 }
Пример #9
0
 // For Testing
 internal ConnectionLimitMiddleware(ConnectionDelegate next, ResourceCounter concurrentConnectionCounter, IServerTrace trace)
 {
     _next = next;
     _concurrentConnectionCounter = concurrentConnectionCounter;
     _trace = trace;
 }
Пример #10
0
 public ConnectionLimitMiddleware(ConnectionDelegate next, long connectionLimit, IServerTrace trace)
     : this(next, ResourceCounter.Quota(connectionLimit), trace)
 {
 }
Пример #11
0
 public ConnectionManager(IServerTrace trace)
 {
     _trace = trace;
 }