public Connection(IServerTrace trace, AppDelegate app, ISocket socket, Action<ISocket> disconnected) { _trace = trace; _app = app; _socket = socket; _disconnected = disconnected; }
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(); }
public WatchDog(SocketListenerSettings <TU> settings, IServerTrace <TU> trace) { _settings = settings; _trace = trace; _activeConnections = new HashSet <SocketAsyncEventArgs>(); _cts = new CancellationTokenSource(); }
internal Heartbeat(IHeartbeatHandler[] callbacks, ISystemClock systemClock, IDebugger debugger, IServerTrace trace, TimeSpan interval) { _callbacks = callbacks; _systemClock = systemClock; _debugger = debugger; _trace = trace; _interval = interval; }
public ServerFactory(IServerTrace trace) : this(new FireflyService { Trace = trace }) { }
public Heartbeat(IHeartbeatHandler[] callbacks, ISystemClock systemClock, IDebugger debugger, IServerTrace trace) : this(callbacks, systemClock, debugger, trace, Interval) { }
public ServerFactory(IServerTrace trace) : this(new FireflyService {Trace = trace}) { }
public ServerFactory(IServerTrace trace) { _trace = trace; }
// For Testing internal ConnectionLimitMiddleware(ConnectionDelegate next, ResourceCounter concurrentConnectionCounter, IServerTrace trace) { _next = next; _concurrentConnectionCounter = concurrentConnectionCounter; _trace = trace; }
public ConnectionLimitMiddleware(ConnectionDelegate next, long connectionLimit, IServerTrace trace) : this(next, ResourceCounter.Quota(connectionLimit), trace) { }
public ConnectionManager(IServerTrace trace) { _trace = trace; }