示例#1
0
        public static IDisposable EnableDistributedBackplane(IWampHostedRealm realm)
        {
            IPublishSubscribe publishSubscribe = new PublishSubscribeBuilder(new WireSerializer()).Build();

            Proto.ClusterBuilder.RunSeededLocalCluster();
            return(realm.EnableDistributedBackplane(publishSubscribe));
        }
示例#2
0
        public static IPublishSubscribe Auto(string clusterId)
        {
            ILoggerFactory loggerFactory = new LoggerFactory().AddConsole(LogLevel.Debug);

            Log.SetLoggerFactory(loggerFactory);
            ISerializer <byte[]> serializer = new MessagePackSerializer();
            IPublishSubscribe    pubSub     = new PublishSubscribeBuilder(new WireSerializer())
                                              .SetClusterName(clusterId)
                                              .SetSerializer(serializer)
                                              .SetLoggerFactory(loggerFactory)
                                              .ProtoActorPublishSubscribe()
                                              //.GrpcPublishSubscribe(seedsEndpointObservable: Observable.Return(new[]
                                              //{
                                              //	new DnsEndPoint("localhost", 35000),
                                              //	new DnsEndPoint("localhost", 35001),
                                              //	new DnsEndPoint("localhost", 35002),
                                              //	new DnsEndPoint("localhost", 35003)
                                              //}))
                                              .Build();

            //ClusterBuilder.RunSeededLocalCluster(clusterId);
            Cluster.Start("Abe", "localhost", PortUtils.FindAvailablePortIncrementally(36002), new ConsulProvider(new ConsulProviderOptions()));

            return(pubSub);
        }
示例#3
0
 public static PublishSubscribeBuilder GrpcPublishSubscribe(this PublishSubscribeBuilder publishSubscribeBuilder,
                                                            IPEndPoint serverEndPoint = null,
                                                            IObservable <IEnumerable <DnsEndPoint> > seedsEndpointObservable = null)
 {
     serverEndPoint          = serverEndPoint ?? new IPEndPoint(IPAddress.Loopback, 35000);
     seedsEndpointObservable = seedsEndpointObservable ?? Observable.Return(new[] { new DnsEndPoint("localhost", 35000) });
     return(publishSubscribeBuilder.Factory(builder =>
                                            new PublishSubscribe(serverEndPoint, seedsEndpointObservable, builder.LoggerFactory, builder.Serializer)));
 }
示例#4
0
        // This method gets called by the runtime. Use this method to add services to the container.
        // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddSignalR();

            IPublishSubscribe publishSubscribe = new PublishSubscribeBuilder(new WireSerializer())
                                                 //.GrpcPublishSubscribe("localhost")
                                                 .Build();

            services.AddSingleton(publishSubscribe);
            services.AddSignalRPublishSubscribeHubLifetimeManager();
        }
示例#5
0
 public static PublishSubscribeBuilder ProtoActorPublishSubscribe(this PublishSubscribeBuilder publishSubscribeBuilder)
 {
     return(publishSubscribeBuilder.Factory(builder =>
                                            new PublishSubscribe(builder.ClusterName, builder.Serializer, builder.LoggerFactory)));
 }