public MQRpcClientBase(IRabbitMQPersistentConnection rabbitMQPersistentConnection, string clientName, ILogger logger, IQpsCounter counter) { signal = new AutoResetEvent(false); _clientName = clientName ?? throw new ArgumentNullException(nameof(clientName)); _logger = logger ?? throw new ArgumentNullException(nameof(logger)); _qps = counter ?? throw new ArgumentNullException(nameof(IQpsCounter)); _persistentConnection = rabbitMQPersistentConnection ?? throw new ArgumentNullException(nameof(rabbitMQPersistentConnection)); methodPoll = new ConcurrentDictionary <long, CallMeta>(); CreateConsumerChannel(); }
internal RPCServer(IRabbitMQPersistentConnection conn, ILogger <RPCServer> logger, RpcServerConfig config, ILifetimeScope autofac, IQpsCounter qps) { config.ApplicationId = config.ApplicationId.ToLower(); _routing = new RoutingTables(); _routing.LoadControlers(config.ApplicationId); _autofac = autofac; _logger = logger; _conn = conn; _qps = qps; Configs = config; CreatePublishChannel(); CreateConsumerChannel(); }
public SleepTaskResult(IQpsCounter counter) { //channels = ThreadChannels.Create(8); channels = new ThreadDispatcher <TaskCompletionSource <bool> >(DoWork, 4); this.counter = counter; }