Ejemplo n.º 1
0
 public InMemoryTransportConnectionFactory(InMemoryTransportConnectionHub hub, ILoggerFactory loggerFactory, SharedMemoryPool memoryPool)
 {
     _hub           = hub;
     _loggerFactory = loggerFactory;
     _memoryPool    = memoryPool;
     _localEndpoint = new IPEndPoint(IPAddress.Loopback, ThreadSafeRandom.Next(1024, ushort.MaxValue - 1024));
 }
Ejemplo n.º 2
0
 private static Func <IServiceProvider, object, IConnectionListenerFactory> CreateInMemoryConnectionListenerFactory(InMemoryTransportConnectionHub hub)
 {
     return((IServiceProvider sp, object key) =>
     {
         var loggerFactory = sp.GetRequiredService <ILoggerFactory>();
         var sharedMemoryPool = sp.GetRequiredService <SharedMemoryPool>();
         return new InMemoryTransportListener(hub, loggerFactory, sharedMemoryPool);
     });
 }
Ejemplo n.º 3
0
    public static IClientBuilder UseInMemoryConnectionTransport(this IClientBuilder clientBuilder, InMemoryTransportConnectionHub hub)
    {
        clientBuilder.ConfigureServices(services =>
        {
            services.AddSingletonKeyedService <object, IConnectionFactory>(ClientOutboundConnectionFactory.ServicesKey, CreateInMemoryConnectionFactory(hub));
        });

        return(clientBuilder);
    }
Ejemplo n.º 4
0
    public static ISiloBuilder UseInMemoryConnectionTransport(this ISiloBuilder siloBuilder, InMemoryTransportConnectionHub hub)
    {
        siloBuilder.ConfigureServices(services =>
        {
            services.AddSingletonKeyedService <object, IConnectionFactory>(SiloConnectionFactory.ServicesKey, CreateInMemoryConnectionFactory(hub));
            services.AddSingletonKeyedService <object, IConnectionListenerFactory>(SiloConnectionListener.ServicesKey, CreateInMemoryConnectionListenerFactory(hub));
            services.AddSingletonKeyedService <object, IConnectionListenerFactory>(GatewayConnectionListener.ServicesKey, CreateInMemoryConnectionListenerFactory(hub));
        });

        return(siloBuilder);
    }