コード例 #1
0
 public DeviceLocator(ISocketFactory socketFactory, IRequestFactory requestFactory, IMessageParser messageParser, IDeviceInfoCollector deviceInfoCollector)
 {
     _socketFactory = socketFactory;
     _requestFactory = requestFactory;
     _messageParser = messageParser;
     _deviceInfoCollector = deviceInfoCollector;
 }
コード例 #2
0
 public DiscoveryListener(ISocketFactory socketFactory, IResponseFactory responseFactory, IMessageParser messageParser, IDeviceInfoCollector deviceInfoCollector)
 {
     _socketFactory = socketFactory;
     _responseFactory = responseFactory;
     _messageParser = messageParser;
     _deviceInfoCollector = deviceInfoCollector;
     _stopped = true;
     _started = false;
 }
コード例 #3
0
 public IntercomMessageHub(ISocketFactory socketFactory,
                           ISynodConfiguration synodConfig,
                           ILogger logger)
 {
     this.socketFactory = socketFactory;
     this.logger = logger;
     cancellationTokenSource = new CancellationTokenSource();
     this.synodConfig = synodConfig;
     inMessageQueue = new BlockingCollection<IMessage>(new ConcurrentQueue<IMessage>());
     outMessageQueue = new BlockingCollection<IntercomMessage>(new ConcurrentQueue<IntercomMessage>());
     subscriptions = new ConcurrentDictionary<Listener, object>();
 }
コード例 #4
0
        /// <summary>
        /// Creates a new <see cref="DiceConnectionFactory"/> using the delivered <see cref="ISocketFactory"/>
        /// for creating the underlying <see cref="ISocket"/> connection
        /// </summary>
        /// <param name="socketFactory"></param>
        public DiceConnectionFactory(ISocketFactory socketFactory)
        {
            #region Contracts

            if (socketFactory == null)
            {
                throw new ArgumentNullException("socketFactory");
            }

            #endregion Contracts

            SocketFactory = socketFactory;
        }
コード例 #5
0
 public RendezvousService(ILeaseProvider leaseProvider,
                          ISynodConfiguration synodConfig,
                          ISocketFactory socketFactory,
                          RendezvousConfiguration config,
                          ILogger logger)
 {
     this.socketFactory = socketFactory;
     this.logger = logger;
     localNode = synodConfig.LocalNode;
     this.leaseProvider = leaseProvider;
     this.config = config;
     cancellationTokenSource = new CancellationTokenSource();
 }
コード例 #6
0
ファイル: MessageHub.cs プロジェクト: gitter-badger/kino
 public MessageHub(ISocketFactory socketFactory,
                   ICallbackHandlerStack callbackHandlers,
                   MessageHubConfiguration config,
                   IMessageTracer messageTracer,
                   ILogger logger)
 {
     this.logger = logger;
     this.messageTracer = messageTracer;
     this.socketFactory = socketFactory;
     this.config = config;
     receivingSocketIdentityPromise = new TaskCompletionSource<byte[]>();
     hubRegistered = new ManualResetEventSlim();
     this.callbackHandlers = callbackHandlers;
     registrationsQueue = new BlockingCollection<CallbackRegistration>(new ConcurrentQueue<CallbackRegistration>());
     cancellationTokenSource = new CancellationTokenSource();
 }
コード例 #7
0
        /// <summary>
        /// Full constructor.
        /// </summary>
        /// <param name="socketFactory">An implementation of the <see cref="ISocketFactory"/> interface that can be used to make new unicast and multicast sockets. Cannot be null.</param>
        /// <param name="localPort">The specific local port to use for all sockets created by this instance. Specify zero to indicate the system should choose a free port itself.</param>
        /// <param name="multicastTimeToLive">The multicast time to live value for multicast sockets. Technically this is a number of router hops, not a 'Time'. Must be greater than zero.</param>
        /// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
        /// <exception cref="System.ArgumentOutOfRangeException">The <paramref name="multicastTimeToLive"/> argument is less than or equal to zero.</exception>
        public SsdpCommunicationsServer(ISocketFactory socketFactory, int localPort, int multicastTimeToLive)
        {
            if (socketFactory == null) throw new ArgumentNullException("socketFactory");
            if (multicastTimeToLive <= 0) throw new ArgumentOutOfRangeException("multicastTimeToLive", "multicastTimeToLive must be greater than zero.");

            _BroadcastListenSocketSynchroniser = new object();
            _SendSocketSynchroniser = new object();

            _LocalPort = localPort;
            _SocketFactory = socketFactory;

            _RequestParser = new HttpRequestParser();
            _ResponseParser = new HttpResponseParser();

            _MulticastTtl = multicastTimeToLive;
        }
コード例 #8
0
 public ClusterMonitorProvider(ISocketFactory socketFactory,
                               RouterConfiguration routerConfiguration,
                               IClusterMembership clusterMembership,
                               ClusterMembershipConfiguration membershipConfiguration,
                               IRendezvousCluster rendezvousCluster,
                               ILogger logger)
 {
     clusterMonitor = membershipConfiguration.RunAsStandalone
                          ? (IClusterMonitor) new LoopbackClusterMonitor()
                          : new ClusterMonitor(socketFactory,
                                               routerConfiguration,
                                               clusterMembership,
                                               membershipConfiguration,
                                               rendezvousCluster,
                                               logger);
 }
コード例 #9
0
ファイル: ClusterMonitor.cs プロジェクト: gitter-badger/kino
 public ClusterMonitor(ISocketFactory socketFactory,
                       RouterConfiguration routerConfiguration,
                       IClusterMembership clusterMembership,
                       ClusterMembershipConfiguration membershipConfiguration,
                       IRendezvousCluster rendezvousCluster,
                       ILogger logger)
 {
     this.logger = logger;
     this.membershipConfiguration = membershipConfiguration;
     pingReceived = new ManualResetEventSlim(false);
     newRendezvousConfiguration = new ManualResetEventSlim(false);
     this.socketFactory = socketFactory;
     this.routerConfiguration = routerConfiguration;
     this.clusterMembership = clusterMembership;
     this.rendezvousCluster = rendezvousCluster;
     outgoingMessages = new BlockingCollection<IMessage>(new ConcurrentQueue<IMessage>());
 }
コード例 #10
0
ファイル: MessageRouter.cs プロジェクト: gitter-badger/kino
 public MessageRouter(ISocketFactory socketFactory,
                      IInternalRoutingTable internalRoutingTable,
                      IExternalRoutingTable externalRoutingTable,
                      RouterConfiguration routerConfiguration,
                      IClusterMonitor clusterMonitor,
                      IMessageTracer messageTracer,
                      ILogger logger)
 {
     this.logger = logger;
     this.messageTracer = messageTracer;
     this.socketFactory = socketFactory;
     localSocketIdentityPromise = new TaskCompletionSource<byte[]>();
     this.internalRoutingTable = internalRoutingTable;
     this.externalRoutingTable = externalRoutingTable;
     this.clusterMonitor = clusterMonitor;
     this.routerConfiguration = routerConfiguration;
     cancellationTokenSource = new CancellationTokenSource();
 }
コード例 #11
0
ファイル: ActorHost.cs プロジェクト: gitter-badger/kino
 public ActorHost(ISocketFactory socketFactory,
                  IActorHandlerMap actorHandlerMap,
                  IAsyncQueue<AsyncMessageContext> asyncQueue,
                  IAsyncQueue<IActor> actorRegistrationsQueue,
                  RouterConfiguration routerConfiguration,
                  IMessageTracer messageTracer,
                  ILogger logger)
 {
     this.logger = logger;
     this.messageTracer = messageTracer;
     this.actorHandlerMap = actorHandlerMap;
     localSocketIdentityPromise = new TaskCompletionSource<byte[]>();
     this.socketFactory = socketFactory;
     this.routerConfiguration = routerConfiguration;
     this.asyncQueue = asyncQueue;
     this.actorRegistrationsQueue = actorRegistrationsQueue;
     cancellationTokenSource = new CancellationTokenSource();
 }
コード例 #12
0
ファイル: EndPointListener.cs プロジェクト: voxadam/Emby
        public EndPointListener(HttpListener listener, IpAddressInfo addr, int port, bool secure, ICertificate cert, ILogger logger, ICryptoProvider cryptoProvider, IStreamFactory streamFactory, ISocketFactory socketFactory, IMemoryStreamFactory memoryStreamFactory, ITextEncoding textEncoding, IFileSystem fileSystem)
        {
            this.listener        = listener;
            _logger              = logger;
            _cryptoProvider      = cryptoProvider;
            _streamFactory       = streamFactory;
            _socketFactory       = socketFactory;
            _memoryStreamFactory = memoryStreamFactory;
            _textEncoding        = textEncoding;
            _fileSystem          = fileSystem;

            this.secure = secure;
            this.cert   = cert;

            _enableDualMode = addr.Equals(IpAddressInfo.IPv6Any);
            endpoint        = new IpEndPointInfo(addr, port);

            prefixes     = new Dictionary <ListenerPrefix, HttpListener>();
            unregistered = new Dictionary <HttpConnection, HttpConnection>();

            CreateSocket();
        }
コード例 #13
0
 /// <summary>
 /// Partial constructor.
 /// </summary>
 /// <param name="socketFactory">An implementation of the <see cref="ISocketFactory"/> interface that can be used to make new unicast and multicast sockets. Cannot be null.</param>
 /// <param name="localPort">The specific local port to use for all sockets created by this instance. Specify zero to indicate the system should choose a free port itself.</param>
 /// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
 public CommunicationsServer(ISocketFactory socketFactory, int localPort)
     : this(socketFactory, localPort, SsdpConstants.SsdpDefaultMulticastTimeToLive)
 {
 }
コード例 #14
0
 /// <summary>
 /// Minimum constructor.
 /// </summary>
 /// <param name="socketFactory">An implementation of the <see cref="ISocketFactory"/> interface that can be used to make new unicast and multicast sockets. Cannot be null.</param>
 /// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
 public CommunicationsServer(ISocketFactory socketFactory)
     : this(socketFactory, 0, SsdpConstants.SsdpDefaultMulticastTimeToLive)
 {
 }
コード例 #15
0
ファイル: DlnaEntryPoint.cs プロジェクト: surajkumar6/Emby
 public DlnaEntryPoint(IServerConfigurationManager config,
                       ILogManager logManager,
                       IServerApplicationHost appHost,
                       ISessionManager sessionManager,
                       IHttpClient httpClient,
                       ILibraryManager libraryManager,
                       IUserManager userManager,
                       IDlnaManager dlnaManager,
                       IImageProcessor imageProcessor,
                       IUserDataManager userDataManager,
                       ILocalizationManager localization,
                       IMediaSourceManager mediaSourceManager,
                       IDeviceDiscovery deviceDiscovery, IMediaEncoder mediaEncoder, ISocketFactory socketFactory, ITimerFactory timerFactory, IEnvironmentInfo environmentInfo, INetworkManager networkManager)
 {
     _config             = config;
     _appHost            = appHost;
     _sessionManager     = sessionManager;
     _httpClient         = httpClient;
     _libraryManager     = libraryManager;
     _userManager        = userManager;
     _dlnaManager        = dlnaManager;
     _imageProcessor     = imageProcessor;
     _userDataManager    = userDataManager;
     _localization       = localization;
     _mediaSourceManager = mediaSourceManager;
     _deviceDiscovery    = deviceDiscovery;
     _mediaEncoder       = mediaEncoder;
     _socketFactory      = socketFactory;
     _timerFactory       = timerFactory;
     _environmentInfo    = environmentInfo;
     _networkManager     = networkManager;
     _logger             = logManager.GetLogger("Dlna");
 }
コード例 #16
0
 public HdHomerunManager(ISocketFactory socketFactory, ILogger logger)
 {
     _socketFactory = socketFactory;
     _logger        = logger;
 }
コード例 #17
0
 /// <summary>
 /// Partial constructor.
 /// </summary>
 /// <param name="socketFactory">An implementation of the <see cref="ISocketFactory"/> interface that can be used to make new unicast and multicast sockets. Cannot be null.</param>
 /// <param name="localPort">The specific local port to use for all sockets created by this instance. Specify zero to indicate the system should choose a free port itself.</param>
 /// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
 public SsdpCommunicationsServer(ISocketFactory socketFactory, int localPort)
     : this(socketFactory, localPort, SsdpConstants.SsdpDefaultMulticastTimeToLive)
 {
 }
コード例 #18
0
 /// <summary>
 /// Minimum constructor.
 /// </summary>
 /// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
 public SsdpCommunicationsServer(ISocketFactory socketFactory, INetworkManager networkManager, ILogger logger, bool enableMultiSocketBinding)
     : this(socketFactory, 0, SsdpConstants.SsdpDefaultMulticastTimeToLive, networkManager, logger, enableMultiSocketBinding)
 {
 }
コード例 #19
0
        public HttpEndPointListener(HttpListener listener, IPAddress addr, int port, bool secure, X509Certificate cert, ILogger logger, ICryptoProvider cryptoProvider, ISocketFactory socketFactory, IMemoryStreamFactory memoryStreamFactory, ITextEncoding textEncoding, IFileSystem fileSystem, IEnvironmentInfo environment)
        {
            this._listener       = listener;
            _logger              = logger;
            _cryptoProvider      = cryptoProvider;
            _socketFactory       = socketFactory;
            _memoryStreamFactory = memoryStreamFactory;
            _textEncoding        = textEncoding;
            _fileSystem          = fileSystem;
            _environment         = environment;

            this._secure = secure;
            this._cert   = cert;

            _enableDualMode = addr.Equals(IPAddress.IPv6Any);
            _endpoint       = new IPEndPoint(addr, port);

            _prefixes = new Dictionary <ListenerPrefix, HttpListener>();
            _unregisteredConnections = new Dictionary <HttpConnection, HttpConnection>();

            CreateSocket();
        }
コード例 #20
0
ファイル: HttpListenerHost.cs プロジェクト: leaty/Emby
        public HttpListenerHost(IServerApplicationHost applicationHost,
                                ILogger logger,
                                IServerConfigurationManager config,
                                string serviceName,
                                string defaultRedirectPath, INetworkManager networkManager, IMemoryStreamFactory memoryStreamProvider, ITextEncoding textEncoding, ISocketFactory socketFactory, ICryptoProvider cryptoProvider, IJsonSerializer jsonSerializer, IXmlSerializer xmlSerializer, IEnvironmentInfo environment, X509Certificate certificate, Func <Type, Func <string, object> > funcParseFn, bool enableDualModeSockets, IFileSystem fileSystem)
        {
            Instance = this;

            _appHost               = applicationHost;
            DefaultRedirectPath    = defaultRedirectPath;
            _networkManager        = networkManager;
            _memoryStreamProvider  = memoryStreamProvider;
            _textEncoding          = textEncoding;
            _socketFactory         = socketFactory;
            _cryptoProvider        = cryptoProvider;
            _jsonSerializer        = jsonSerializer;
            _xmlSerializer         = xmlSerializer;
            _environment           = environment;
            _certificate           = certificate;
            _funcParseFn           = funcParseFn;
            _enableDualModeSockets = enableDualModeSockets;
            _fileSystem            = fileSystem;
            _config = config;

            _logger = logger;

            RequestFilters  = new Action <IRequest, IResponse, object>[] { };
            ResponseFilters = new Action <IRequest, IResponse, object>[] { };
        }
コード例 #21
0
 public virtual SocketOptions SetSocketFactory(ISocketFactory socketFactory)
 {
     _socketFactory = socketFactory;
     return(this);
 }
コード例 #22
0
ファイル: UdpServer.cs プロジェクト: zxz2020/jellyfin
        /// <summary>
        /// Initializes a new instance of the <see cref="UdpServer" /> class.
        /// </summary>
        public UdpServer(ILogger logger, IServerApplicationHost appHost, IJsonSerializer json, ISocketFactory socketFactory)
        {
            _logger        = logger;
            _appHost       = appHost;
            _json          = json;
            _socketFactory = socketFactory;

            AddMessageResponder("who is JellyfinServer?", true, RespondToV2Message);
            AddMessageResponder("who is EmbyServer?", true, RespondToV2Message);
            AddMessageResponder("who is MediaBrowserServer_v2?", false, RespondToV2Message);
        }
コード例 #23
0
        public DlnaEntryPoint(
            IServerConfigurationManager config,
            ILoggerFactory loggerFactory,
            IServerApplicationHost appHost,
            ISessionManager sessionManager,
            IHttpClient httpClient,
            ILibraryManager libraryManager,
            IUserManager userManager,
            IDlnaManager dlnaManager,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            ILocalizationManager localizationManager,
            IMediaSourceManager mediaSourceManager,
            IDeviceDiscovery deviceDiscovery,
            IMediaEncoder mediaEncoder,
            ISocketFactory socketFactory,
            INetworkManager networkManager,
            IUserViewManager userViewManager,
            ITVSeriesManager tvSeriesManager)
        {
            _config             = config;
            _appHost            = appHost;
            _sessionManager     = sessionManager;
            _httpClient         = httpClient;
            _libraryManager     = libraryManager;
            _userManager        = userManager;
            _dlnaManager        = dlnaManager;
            _imageProcessor     = imageProcessor;
            _userDataManager    = userDataManager;
            _localization       = localizationManager;
            _mediaSourceManager = mediaSourceManager;
            _deviceDiscovery    = deviceDiscovery;
            _mediaEncoder       = mediaEncoder;
            _socketFactory      = socketFactory;
            _networkManager     = networkManager;
            _logger             = loggerFactory.CreateLogger <DlnaEntryPoint>();

            ContentDirectory = new ContentDirectory.ContentDirectoryService(
                dlnaManager,
                userDataManager,
                imageProcessor,
                libraryManager,
                config,
                userManager,
                loggerFactory.CreateLogger <ContentDirectory.ContentDirectoryService>(),
                httpClient,
                localizationManager,
                mediaSourceManager,
                userViewManager,
                mediaEncoder,
                tvSeriesManager);

            ConnectionManager = new ConnectionManager.ConnectionManagerService(
                dlnaManager,
                config,
                loggerFactory.CreateLogger <ConnectionManager.ConnectionManagerService>(),
                httpClient);

            MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrarService(
                loggerFactory.CreateLogger <MediaReceiverRegistrar.MediaReceiverRegistrarService>(),
                httpClient,
                config);
            Current = this;
        }
コード例 #24
0
ファイル: HdHomerunHost.cs プロジェクト: randomevents/Emby
 public HdHomerunHost(IServerConfigurationManager config, ILogger logger, IJsonSerializer jsonSerializer, IMediaEncoder mediaEncoder, IFileSystem fileSystem, IHttpClient httpClient, IServerApplicationHost appHost, ISocketFactory socketFactory, INetworkManager networkManager, IEnvironmentInfo environment) : base(config, logger, jsonSerializer, mediaEncoder, fileSystem)
 {
     _httpClient     = httpClient;
     _appHost        = appHost;
     _socketFactory  = socketFactory;
     _networkManager = networkManager;
     _environment    = environment;
 }
コード例 #25
0
 /// <summary>
 /// Minimum constructor.
 /// </summary>
 /// <param name="socketFactory">An implementation of the <see cref="ISocketFactory"/> interface that can be used to make new unicast and multicast sockets. Cannot be null.</param>
 /// <exception cref="System.ArgumentNullException">The <paramref name="socketFactory"/> argument is null.</exception>
 public SsdpCommunicationsServer(ISocketFactory socketFactory)
     : this(socketFactory, 0, SsdpConstants.SsdpDefaultMulticastTimeToLive)
 {
 }
コード例 #26
0
 void setSocketFactory(ISocketFactory factory)
 {
     this.factory = factory;
 }
コード例 #27
0
 internal NatsConnectionManager(ISocketFactory socketFactory)
 {
     _socketFactory = socketFactory ?? throw new ArgumentNullException(nameof(socketFactory));
 }
コード例 #28
0
 internal static void addPort(Session session, int port, String target, int lport, ISocketFactory factory)
 {
     lock (pool) {
         if (getPort(session, port) != null)
         {
             throw new SshClientException("PortForwardingR: remote port " + port + " is already registered.");
         }
         Object[] foo = new Object[5];
         foo[0] = session;
         foo[1] = port;
         foo[2] = target;
         foo[3] = lport;
         foo[4] = factory;
         pool.Add(foo);
     }
 }
コード例 #29
0
 public virtual SocketOptions SetSocketFactory(ISocketFactory socketFactory)
 {
     _socketFactory = socketFactory;
     return this;
 }
コード例 #30
0
        public DlnaEntryPoint(
            IServerConfigurationManager config,
            ILoggerFactory loggerFactory,
            IServerApplicationHost appHost,
            ISessionManager sessionManager,
            IHttpClientFactory httpClientFactory,
            ILibraryManager libraryManager,
            IUserManager userManager,
            IDlnaManager dlnaManager,
            IImageProcessor imageProcessor,
            IUserDataManager userDataManager,
            ILocalizationManager localizationManager,
            IMediaSourceManager mediaSourceManager,
            IDeviceDiscovery deviceDiscovery,
            IMediaEncoder mediaEncoder,
            ISocketFactory socketFactory,
            INetworkManager networkManager,
            IUserViewManager userViewManager,
            ITVSeriesManager tvSeriesManager)
        {
            _config             = config;
            _appHost            = appHost;
            _sessionManager     = sessionManager;
            _httpClientFactory  = httpClientFactory;
            _libraryManager     = libraryManager;
            _userManager        = userManager;
            _dlnaManager        = dlnaManager;
            _imageProcessor     = imageProcessor;
            _userDataManager    = userDataManager;
            _localization       = localizationManager;
            _mediaSourceManager = mediaSourceManager;
            _deviceDiscovery    = deviceDiscovery;
            _mediaEncoder       = mediaEncoder;
            _socketFactory      = socketFactory;
            _networkManager     = networkManager;
            _logger             = loggerFactory.CreateLogger <DlnaEntryPoint>();

            ContentDirectory = new ContentDirectory.ContentDirectoryService(
                dlnaManager,
                userDataManager,
                imageProcessor,
                libraryManager,
                config,
                userManager,
                loggerFactory.CreateLogger <ContentDirectory.ContentDirectoryService>(),
                httpClientFactory,
                localizationManager,
                mediaSourceManager,
                userViewManager,
                mediaEncoder,
                tvSeriesManager);

            ConnectionManager = new ConnectionManager.ConnectionManagerService(
                dlnaManager,
                config,
                loggerFactory.CreateLogger <ConnectionManager.ConnectionManagerService>(),
                httpClientFactory);

            MediaReceiverRegistrar = new MediaReceiverRegistrar.MediaReceiverRegistrarService(
                loggerFactory.CreateLogger <MediaReceiverRegistrar.MediaReceiverRegistrarService>(),
                httpClientFactory,
                config);
            Current = this;

            _netConfig = config.GetConfiguration <NetworkConfiguration>("network");
            _disabled  = appHost.ListenWithHttps && _netConfig.RequireHttps;

            if (_disabled && _config.GetDlnaConfiguration().EnableServer)
            {
                _logger.LogError("The DLNA specification does not support HTTPS.");
            }
        }