Ejemplo n.º 1
0
        protected void PreBuild()
        {
            if (DomainKey == null)
            {
                DomainKey = Number160.Zero;
            }
            if (VersionKey == null)
            {
                VersionKey = Number160.Zero;
            }
            if (RoutingConfiguration == null)
            {
                RoutingConfiguration = new RoutingConfiguration(5, 10, 2);
            }
            if (RequestP2PConfiguration == null)
            {
                RequestP2PConfiguration = new RequestP2PConfiguration(3, 5, 5);
            }
            var size = PeerDht.Peer.PeerBean.PeerMap.Size + 1;

            RequestP2PConfiguration = RequestP2PConfiguration.AdjustMinimumResult(size);
            if (TaskChannelCreator == null ||
                (TaskChannelCreator.Result != null && TaskChannelCreator.Result.IsShutdown))
            {
                TaskChannelCreator = PeerDht.Peer.ConnectionBean.Reservation.CreateAsync(RoutingConfiguration,
                                                                                         RequestP2PConfiguration, this);
            }
        }
Ejemplo n.º 2
0
        public RoutingBuilder CreateBuilder(RequestP2PConfiguration requestP2PConfiguration,
                                            RoutingConfiguration routingConfiguration)
        {
            var routingBuilder = new RoutingBuilder();

            routingBuilder.Parallel      = routingConfiguration.Parallel;
            routingBuilder.MaxNoNewInfo  = routingConfiguration.MaxNoNewInfo(requestP2PConfiguration.MinimumResults);
            routingBuilder.MaxDirectHits = routingConfiguration.MaxDirectHits;
            routingBuilder.MaxFailures   = routingConfiguration.MaxFailures;
            routingBuilder.MaxSuccess    = routingConfiguration.MaxSuccess;
            return(routingBuilder);
        }
Ejemplo n.º 3
0
 public T SetRequestP2PConfiguration(RequestP2PConfiguration requestP2PConfiguration)
 {
     RequestP2PConfiguration = requestP2PConfiguration;
     return(Self);
 }