private StreamingNetworkService( IObserver <NsMessage <T> > universalObserver, IObserver <IRemoteMessage <NsMessage <T> > > remoteMessageUniversalObserver, INameClient nameClient, StreamingRemoteManagerFactory remoteManagerFactory, NsMessageStreamingCodec <T> codec, ILocalAddressProvider localAddressProvider) { _remoteManager = remoteManagerFactory.GetInstance(localAddressProvider.LocalAddress, codec); if (universalObserver != null) { // Create and register incoming message handler // TODO[REEF-419] This should use the TcpPortProvider mechanism var anyEndpoint = new IPEndPoint(IPAddress.Any, 0); _universalObserverDisposable = _remoteManager.RegisterObserver(anyEndpoint, universalObserver); } else { _universalObserverDisposable = null; } _remoteMessageUniversalObserver = remoteMessageUniversalObserver != null? _remoteManager.RegisterObserver(remoteMessageUniversalObserver) : null; _nameClient = nameClient; _connectionMap = new Dictionary <IIdentifier, IConnection <T> >(); Logger.Log(Level.Verbose, "Started network service"); }
private StreamingNetworkService( IObserver <IRemoteMessage <NsMessage <T> > > remoteMessageUniversalObserver, INameClient nameClient, StreamingRemoteManagerFactory remoteManagerFactory, NsMessageStreamingCodec <T> codec, ILocalAddressProvider localAddressProvider) : this(null, remoteMessageUniversalObserver, nameClient, remoteManagerFactory, codec, localAddressProvider) { }
private StreamingNetworkService( IObserver <NsMessage <T> > messageHandler, IIdentifierFactory idFactory, INameClient nameClient, StreamingRemoteManagerFactory remoteManagerFactory, NsMessageStreamingCodec <T> codec, IInjector injector) { IPAddress localAddress = NetworkUtils.LocalIPAddress; _remoteManager = remoteManagerFactory.GetInstance(localAddress, codec); // Create and register incoming message handler // TODO[REEF-419] This should use the TcpPortProvider mechanism var anyEndpoint = new IPEndPoint(IPAddress.Any, 0); _messageHandlerDisposable = _remoteManager.RegisterObserver(anyEndpoint, messageHandler); _nameClient = nameClient; _connectionMap = new Dictionary <IIdentifier, IConnection <T> >(); Logger.Log(Level.Info, "Started network service"); }