public static IDisposable EnableDistributedBackplane(IWampHostedRealm realm) { IPublishSubscribe publishSubscribe = new PublishSubscribeBuilder(new WireSerializer()).Build(); Proto.ClusterBuilder.RunSeededLocalCluster(); return(realm.EnableDistributedBackplane(publishSubscribe)); }
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); }
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))); }
// 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(); }
public static PublishSubscribeBuilder ProtoActorPublishSubscribe(this PublishSubscribeBuilder publishSubscribeBuilder) { return(publishSubscribeBuilder.Factory(builder => new PublishSubscribe(builder.ClusterName, builder.Serializer, builder.LoggerFactory))); }