Exemple #1
0
 public NodesGroup(
     Network network,
     NodeConnectionParameters connectionParameters = null,
     NodeRequirement requirements = null)
 {
     AllowSameGroup        = false;
     MaximumNodeConnection = 8;
     _network                 = network;
     _cs                      = new object();
     ConnectedNodes           = new NodesCollection();
     NodeConnectionParameters = connectionParameters ?? new NodeConnectionParameters();
     NodeConnectionParameters = NodeConnectionParameters.Clone();
     Requirements             = requirements ?? new NodeRequirement();
     _disconnect              = new CancellationTokenSource();
 }
Exemple #2
0
        public NodeServer(Network network, uint?version = null, int internalPort = -1)
        {
            AllowLocalPeers = true;
            InboundNodeConnectionParameters = new NodeConnectionParameters();
            internalPort      = internalPort == -1 ? network.DefaultPort : internalPort;
            _localEndpoint    = new IPEndPoint(IPAddress.Parse("0.0.0.0").MapToIPv6Ex(), internalPort);
            MaxConnections    = 125;
            Network           = network;
            _externalEndpoint = new IPEndPoint(_localEndpoint.Address, Network.DefaultPort);
            Version           = version ?? network.MaxP2PVersion;
            var listener = new EventLoopMessageListener <IncomingMessage>(ProcessMessage);

            _messageProducer.AddMessageListener(listener);
            OwnResource(listener);
            ConnectedNodes          = new NodesCollection();
            ConnectedNodes.Added   += _Nodes_NodeAdded;
            ConnectedNodes.Removed += _Nodes_NodeRemoved;
            ConnectedNodes.MessageProducer.AddMessageListener(listener);
            _trace = new TraceCorrelation(NodeServerTrace.Trace, "Node server listening on " + LocalEndpoint);
        }