示例#1
0
 /// <summary>
 /// Initializes a new instance.
 /// </summary>
 /// <param name="host"></param>
 /// <param name="handler"></param>
 /// <param name="http"></param>
 /// <param name="logger"></param>
 public KHttpProtocol(IKHost <TNodeId> host, IKRequestHandler <TNodeId> handler, ITypedHttpClientFactory <KHttpProtocol <TNodeId> > http, ILogger logger)
 {
     this.host    = host ?? throw new ArgumentNullException(nameof(host));
     this.handler = handler ?? throw new ArgumentNullException(nameof(handler));
     this.http    = http ?? throw new ArgumentNullException(nameof(http));
     this.logger  = logger ?? throw new ArgumentNullException(nameof(logger));
 }
示例#2
0
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        /// <param name="options"></param>
        /// <param name="host"></param>
        /// <param name="formats"></param>
        /// <param name="handler"></param>
        /// <param name="logger"></param>
        public KUdpServer(IOptions <KUdpOptions> options, IKHost <TNodeId> host, IEnumerable <IKMessageFormat <TNodeId> > formats, IKRequestHandler <TNodeId> handler, IKUdpSerializer <TNodeId> serializer, ILogger logger)
        {
            this.host       = host ?? throw new ArgumentNullException(nameof(host));
            this.formats    = formats ?? throw new ArgumentNullException(nameof(formats));
            this.handler    = handler ?? throw new ArgumentNullException(nameof(handler));
            this.serializer = serializer ?? throw new ArgumentNullException(nameof(serializer));
            this.logger     = logger ?? throw new ArgumentNullException(nameof(logger));

            queue = new KRequestResponseQueue <TNodeId, ulong>(logger, options.Value.Timeout);
        }
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        /// <param name="options"></param>
        /// <param name="host"></param>
        /// <param name="formats"></param>
        /// <param name="connector"></param>
        /// <param name="handler"></param>
        /// <param name="logger"></param>
        public KUdpMulticastDiscovery(IOptions <KUdpOptions> options, IKHost <TNodeId> host, IEnumerable <IKMessageFormat <TNodeId> > formats, IKConnector <TNodeId> connector, IKRequestHandler <TNodeId> handler, ILogger logger)
        {
            this.options   = options ?? throw new ArgumentNullException(nameof(options));
            this.host      = host ?? throw new ArgumentNullException(nameof(host));
            this.formats   = formats ?? throw new ArgumentNullException(nameof(formats));
            this.connector = connector ?? throw new ArgumentNullException(nameof(connector));
            this.handler   = handler ?? throw new ArgumentNullException(nameof(handler));
            this.logger    = logger ?? throw new ArgumentNullException(nameof(logger));

            serializer = new KUdpSerializer <TNodeId>(formats, magic);
        }
示例#4
0
        /// <summary>
        /// Initializes a new instance.
        /// </summary>
        /// <param name="options"></param>
        /// <param name="host"></param>
        /// <param name="formats"></param>
        /// <param name="handler"></param>
        /// <param name="logger"></param>
        public KUdpProtocol(IOptions <KUdpOptions> options, IKHost <TNodeId> host, IEnumerable <IKMessageFormat <TNodeId> > formats, IKRequestHandler <TNodeId> handler, ILogger logger)
        {
            this.options = options ?? throw new ArgumentNullException(nameof(options));
            this.host    = host ?? throw new ArgumentNullException(nameof(host));
            this.formats = formats ?? throw new ArgumentNullException(nameof(formats));
            this.logger  = logger ?? throw new ArgumentNullException(nameof(logger));

            server = new KUdpServer <TNodeId>(options, host, formats, handler, new KUdpSerializer <TNodeId>(formats, magic), logger);
        }