public void TestPeerListenerCreation() { var fakeLogger = new FakeLogging(); var socketFactory = new SocketFactory(fakeLogger, 10); var fakeDiscoverer = new FakeDiscoverer(); var source = new CancellationTokenSource(); using IPeerServices peerServices = new PeerServices(_messageTag, 0, "UnitTest", "unit", 4096, fakeLogger, fakeDiscoverer, socketFactory, 10, 40); peerServices.WithCancellationTokenSource(source); Assert.IsNotNull(peerServices); Assert.IsNull(fakeLogger.LastLog); INodeSink fakeNodeSink = new FakeNodeSink(_messageTag, 2002, 10, 40); using var peerListener = peerServices.CreateListenerFor(fakeNodeSink); Assert.IsNotNull(peerListener); Assert.IsNull(fakeLogger.LastLog); }
public void TestProxyListenerCreation() { var fakeLogger = new FakeLogging(); var socketFactory = new SocketFactory(fakeLogger, 10); var fakeDiscoverer = new FakeDiscoverer(); var source = new CancellationTokenSource(); using IPeerServices peerServices = new PeerServices(_messageTag, 0, "UnitTest", "unit", 4096, fakeLogger, fakeDiscoverer, socketFactory, 10, 40); peerServices.WithCancellationTokenSource(source); Assert.IsNotNull(peerServices); Assert.IsNull(fakeLogger.LastLog); INodeSink fakeNodeSink = new FakeNodeSink(_messageTag, 8002, 10, 40); IConnection connection = new ConnectionToPeer("Test", fakeNodeSink, "localhost", 8003, source, fakeLogger); using var peerListener = peerServices.ProxyingServices.CreateListenerForProxying("rafael.interlockledger.network", "localhost", 9000, connection); Assert.IsNotNull(peerListener); Assert.IsNull(fakeLogger.LastLog); Assert.AreEqual("rafael.interlockledger.network", peerListener.ExternalAddress); }
public TestListenerForProxying(TestSocket overridingSocket, string externalAddress, string hostedAddress, ushort firstPort, ConnectionInitiatedByPeer connection, SocketFactory socketFactory, CancellationTokenSource source, ILogger logger) : base(externalAddress, hostedAddress, firstPort, connection, socketFactory, source, logger) => _testSocket = new SingleUseSocket(overridingSocket, _source);
public ListenerForProxying(string externalAddress, string hostedAddress, ushort firstPort, IConnection connection, SocketFactory socketFactory, CancellationTokenSource source, ILogger logger) : base(connection.Id, connection, CreateKindOfLinkedSource(source), logger) { ExternalAddress = externalAddress.Required(nameof(externalAddress)); Connection = connection.Required(nameof(connection)); _socket = socketFactory.GetSocket(hostedAddress, firstPort); if (_socket is null) { throw new InterlockLedgerIOException($"Could not open a listening socket for proxying at {hostedAddress}:{firstPort}"); } ExternalPortNumber = (ushort)((IPEndPoint)_socket.LocalEndPoint).Port; HostedAddress = hostedAddress; _channelMap = new ConcurrentDictionary <string, ChannelPairing>(); Sinked = LogSinked; Responded = LogResponded; Errored = LogError; }
public DummyExternalAccessDiscoverer(SocketFactory socketFactory, ILoggerFactory loggerFactory) { _socketFactory = socketFactory.Required(nameof(socketFactory)); _logger = loggerFactory.NewLogger <DummyExternalAccessDiscoverer>(); }