Пример #1
0
        public static ServerBuilder Listen(this ServerBuilder builder, EndPoint endPoint, IConnectionListenerFactory connectionListenerFactory, Action <IConnectionBuilder> configure)
        {
            var connectionBuilder = new ConnectionBuilder(builder.ApplicationServices);

            configure(connectionBuilder);
            builder.Bindings.Add(new EndPointBinding(endPoint, connectionBuilder.Build(), connectionListenerFactory));
            return(builder);
        }
        public static ServerBuilder UseSockets(this ServerBuilder serverBuilder, Action <SocketsServerBuilder> configure)
        {
            var socketsBuilder = new SocketsServerBuilder();

            configure(socketsBuilder);
            socketsBuilder.Apply(serverBuilder);
            return(serverBuilder);
        }
Пример #3
0
 internal Server(ServerBuilder builder)
 {
     _logger         = builder.ApplicationServices.GetLoggerFactory().CreateLogger <Server>();
     _builder        = builder;
     _timerAwaitable = new TimerAwaitable(_builder.HeartBeatInterval, _builder.HeartBeatInterval);
 }
Пример #4
0
 public static ServerBuilder ListenWebSocket(this ServerBuilder builder, Uri uri, Action <IConnectionBuilder> serverApplication)
 {
     return(builder.Listen <WebSocketConnectionListenerFactory>(new UriEndPoint(uri), serverApplication));
 }
Пример #5
0
 public static ServerBuilder Listen <TTransport>(this ServerBuilder builder, EndPoint endPoint, Action <IConnectionBuilder> configure) where TTransport : IConnectionListenerFactory
 {
     return(builder.Listen(endPoint, ActivatorUtilities.CreateInstance <TTransport>(builder.ApplicationServices), configure));
 }
Пример #6
0
 public static ServerBuilder ListenAzureSignalR(this ServerBuilder builder, string connectionString, string hub, Action <IConnectionBuilder> serverApplication)
 {
     return(builder.Listen <AzureSignalRConnectionListenerFactory>(
                new AzureSignalREndPoint(connectionString, hub, AzureSignalREndpointType.Server),
                serverApplication));
 }