public DefaultClientBuilder_tests() { this.builder = new DefaultClientBuilder(new FakeUserAgentBuilder()); // Providing these means the tests won't try to do a dynamic assembly lookup // which tends to screw up parallel-running tests this.builder .SetHttpClient(HttpClients.Create().RestSharpClient()) .SetSerializer(Serializers.Create().JsonNetSerializer()); }
public static IClientBuilder AddStreamFilter <T>(this IClientBuilder builder, string name) where T : class, IStreamFilter { return(builder.ConfigureServices(svc => svc.AddStreamFilter <T>(name))); }
public static void AddDefaultServices(IClientBuilder builder, IServiceCollection services) { // Options logging services.TryAddSingleton(typeof(IOptionFormatter <>), typeof(DefaultOptionsFormatter <>)); services.TryAddSingleton(typeof(IOptionFormatterResolver <>), typeof(DefaultOptionsFormatterResolver <>)); services.TryAddSingleton <ILifecycleParticipant <IClusterClientLifecycle>, ClientOptionsLogger>(); services.TryAddSingleton <TelemetryManager>(); services.TryAddFromExisting <ITelemetryProducer, TelemetryManager>(); services.TryAddSingleton <IHostEnvironmentStatistics, NoOpHostEnvironmentStatistics>(); services.TryAddSingleton <IAppEnvironmentStatistics, AppEnvironmentStatistics>(); services.AddLogging(); services.TryAddSingleton <ExecutorService>(); services.TryAddSingleton <TypeMetadataCache>(); services.TryAddSingleton <OutsideRuntimeClient>(); services.TryAddFromExisting <IRuntimeClient, OutsideRuntimeClient>(); services.TryAddFromExisting <IClusterConnectionStatusListener, OutsideRuntimeClient>(); services.TryAddSingleton <GrainFactory>(); services.TryAddSingleton <IGrainReferenceRuntime, GrainReferenceRuntime>(); services.TryAddSingleton <IGrainCancellationTokenRuntime, GrainCancellationTokenRuntime>(); services.TryAddFromExisting <IGrainFactory, GrainFactory>(); services.TryAddFromExisting <IInternalGrainFactory, GrainFactory>(); services.TryAddFromExisting <IGrainReferenceConverter, GrainFactory>(); services.TryAddSingleton <ClientProviderRuntime>(); services.TryAddSingleton <MessageFactory>(); services.TryAddSingleton <ClientStatisticsManager>(); services.TryAddFromExisting <IStreamProviderRuntime, ClientProviderRuntime>(); services.TryAddFromExisting <IProviderRuntime, ClientProviderRuntime>(); services.TryAddSingleton <IStreamSubscriptionManagerAdmin, StreamSubscriptionManagerAdmin>(); services.TryAddSingleton <IInternalClusterClient, ClusterClient>(); services.TryAddFromExisting <IClusterClient, IInternalClusterClient>(); // Serialization services.TryAddSingleton <SerializationManager>(); services.TryAddSingleton <ITypeResolver, CachedTypeResolver>(); services.TryAddSingleton <IFieldUtils, FieldUtils>(); services.AddSingleton <BinaryFormatterSerializer>(); services.AddSingleton <BinaryFormatterISerializableSerializer>(); services.AddFromExisting <IKeyedSerializer, BinaryFormatterISerializableSerializer>(); services.TryAddSingleton <ILBasedSerializer>(); services.AddFromExisting <IKeyedSerializer, ILBasedSerializer>(); // Application parts var parts = builder.GetApplicationPartManager(); services.TryAddSingleton <IApplicationPartManager>(parts); parts.AddApplicationPart(new AssemblyPart(typeof(RuntimeVersion).Assembly) { IsFrameworkAssembly = true }); parts.AddFeatureProvider(new BuiltInTypesSerializationFeaturePopulator()); parts.AddFeatureProvider(new AssemblyAttributeFeatureProvider <GrainInterfaceFeature>()); parts.AddFeatureProvider(new AssemblyAttributeFeatureProvider <SerializerFeature>()); services.AddTransient <IConfigurationValidator, ApplicationPartValidator>(); services.TryAddSingleton(typeof(IKeyedServiceCollection <,>), typeof(KeyedServiceCollection <,>)); // Add default option formatter if none is configured, for options which are requied to be configured services.ConfigureFormatter <ClusterOptions>(); services.ConfigureFormatter <ClientMessagingOptions>(); services.ConfigureFormatter <NetworkingOptions>(); services.ConfigureFormatter <ClientStatisticsOptions>(); services.AddTransient <IConfigurationValidator, ClusterOptionsValidator>(); services.AddTransient <IConfigurationValidator, ClientClusteringValidator>(); }
private static IClientBuilder UpdateRetryInfo(this IClientBuilder clientBuilder) { clientBuilder.Register(c => c.Use <RetryStagedMiddleware>()); return(clientBuilder); }
public BuildRepository(IClientBuilder clientBuilder) { this.client = clientBuilder.GetClient(); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder.UseAzureStorageClustering(gatewayOptions => { gatewayOptions.ConnectionString = TestDefaultConfiguration.DataConnectionString; }); }
private static IClientBuilder ProcessUniqueMessages(this IClientBuilder clientBuilder) { clientBuilder.Register(c => c.Use <ProcessUniqueMessagesMiddleware>()); return(clientBuilder); }
public static IClientBuilder UseJaeger(this IClientBuilder builder, ITracer tracer) { builder.Register(pipe => pipe .Use <JaegerStagedMiddleware>(tracer)); return(builder); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder .AddSimpleMessageStreamProvider(StreamTestsConstants.SMS_STREAM_PROVIDER_NAME) .AddStreamFilter <CustomStreamFilter>(StreamTestsConstants.SMS_STREAM_PROVIDER_NAME); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { var clusterOptions = configuration.GetTestClusterOptions(); clientBuilder.UseStaticClustering(new IPEndPoint(IPAddress.Loopback, clusterOptions.BaseGatewayPort)); }
public virtual void Configure(IConfiguration configuration, IClientBuilder clientBuilder) => clientBuilder .ConfigureApplicationParts(parts => parts.AddApplicationPart(typeof(ITestGrain).Assembly).WithReferences()) .AddSimpleMessageStreamProvider("TestStream") ;
/// <summary> /// Adds a metrics telemetric consumer provider of type <see cref="ElasticsearchTelemetryConsumer"/>. /// </summary> /// <param name="clientBuilder"></param> /// <param name="instrumentationKey">The Application Insights instrumentation key.</param> public static IClientBuilder AddElasticsearchTelemetryConsumer(this IClientBuilder clientBuilder, Uri elasticSearchUri, string indexPrefix = "orleans-telemetry", string dateFormatter = "yyyy-MM-dd-HH", int bufferWaitSeconds = 1, int bufferSize = 50) { return(clientBuilder.ConfigureServices((context, services) => ConfigureServices(context, services, elasticSearchUri, indexPrefix, dateFormatter, bufferWaitSeconds, bufferSize))); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder.Configure <SiloMessagingOptions>(options => options.PropagateActivityId = true); }
public static void AddDefaultServices(IClientBuilder builder, IServiceCollection services) { // Options logging services.TryAddSingleton(typeof(IOptionFormatter<>), typeof(DefaultOptionsFormatter<>)); services.TryAddSingleton(typeof(IOptionFormatterResolver<>), typeof(DefaultOptionsFormatterResolver<>)); services.AddSingleton<ClientOptionsLogger>(); services.AddFromExisting<ILifecycleParticipant<IClusterClientLifecycle>, ClientOptionsLogger>(); services.TryAddSingleton<TelemetryManager>(); services.TryAddFromExisting<ITelemetryProducer, TelemetryManager>(); services.TryAddSingleton<IHostEnvironmentStatistics, NoOpHostEnvironmentStatistics>(); services.TryAddSingleton<IAppEnvironmentStatistics, AppEnvironmentStatistics>(); services.TryAddSingleton<ClientStatisticsManager>(); services.TryAddSingleton<ApplicationRequestsStatisticsGroup>(); services.TryAddSingleton<StageAnalysisStatisticsGroup>(); services.TryAddSingleton<SchedulerStatisticsGroup>(); services.TryAddSingleton<SerializationStatisticsGroup>(); services.AddLogging(); services.TryAddSingleton<ExecutorService>(); services.TryAddSingleton<TypeMetadataCache>(); services.TryAddSingleton<OutsideRuntimeClient>(); services.TryAddFromExisting<IRuntimeClient, OutsideRuntimeClient>(); services.TryAddFromExisting<IClusterConnectionStatusListener, OutsideRuntimeClient>(); services.TryAddSingleton<GrainFactory>(); services.TryAddSingleton<IGrainReferenceRuntime, GrainReferenceRuntime>(); services.TryAddSingleton<IGrainCancellationTokenRuntime, GrainCancellationTokenRuntime>(); services.TryAddFromExisting<IGrainFactory, GrainFactory>(); services.TryAddFromExisting<IInternalGrainFactory, GrainFactory>(); services.TryAddFromExisting<IGrainReferenceConverter, GrainFactory>(); services.TryAddSingleton<ClientProviderRuntime>(); services.TryAddSingleton<MessageFactory>(); services.TryAddFromExisting<IStreamProviderRuntime, ClientProviderRuntime>(); services.TryAddFromExisting<IProviderRuntime, ClientProviderRuntime>(); services.TryAddSingleton<IStreamSubscriptionManagerAdmin, StreamSubscriptionManagerAdmin>(); services.TryAddSingleton<IInternalClusterClient, ClusterClient>(); services.TryAddFromExisting<IClusterClient, IInternalClusterClient>(); // Serialization services.TryAddSingleton<SerializationManager>(sp => ActivatorUtilities.CreateInstance<SerializationManager>(sp, sp.GetRequiredService<IOptions<ClientMessagingOptions>>().Value.LargeMessageWarningThreshold)); services.TryAddSingleton<ITypeResolver, CachedTypeResolver>(); services.TryAddSingleton<IFieldUtils, FieldUtils>(); services.AddSingleton<BinaryFormatterSerializer>(); services.AddSingleton<BinaryFormatterISerializableSerializer>(); services.AddFromExisting<IKeyedSerializer, BinaryFormatterISerializableSerializer>(); #pragma warning disable CS0618 // Type or member is obsolete services.TryAddSingleton<ILBasedSerializer>(); services.AddFromExisting<IKeyedSerializer, ILBasedSerializer>(); #pragma warning restore CS0618 // Type or member is obsolete // Application parts var parts = builder.GetApplicationPartManager(); services.TryAddSingleton<IApplicationPartManager>(parts); parts.AddApplicationPart(new AssemblyPart(typeof(RuntimeVersion).Assembly) { IsFrameworkAssembly = true }); parts.AddFeatureProvider(new BuiltInTypesSerializationFeaturePopulator()); parts.AddFeatureProvider(new AssemblyAttributeFeatureProvider<GrainInterfaceFeature>()); parts.AddFeatureProvider(new AssemblyAttributeFeatureProvider<SerializerFeature>()); services.AddTransient<IConfigurationValidator, ApplicationPartValidator>(); services.TryAddSingleton(typeof(IKeyedServiceCollection<,>), typeof(KeyedServiceCollection<,>)); // Add default option formatter if none is configured, for options which are requied to be configured services.ConfigureFormatter<ClusterOptions>(); services.ConfigureFormatter<ClientMessagingOptions>(); services.ConfigureFormatter<ConnectionOptions>(); services.ConfigureFormatter<StatisticsOptions>(); services.AddTransient<IConfigurationValidator, ClusterOptionsValidator>(); services.AddTransient<IConfigurationValidator, ClientClusteringValidator>(); // TODO: abstract or move into some options. services.AddSingleton<SocketSchedulers>(); services.AddSingleton<SharedMemoryPool>(); // Networking services.TryAddSingleton<ConnectionManager>(); services.AddSingleton<ILifecycleParticipant<IClusterClientLifecycle>, ConnectionManagerLifecycleAdapter<IClusterClientLifecycle>>(); services.AddSingletonKeyedService<object, IConnectionFactory>( ClientOutboundConnectionFactory.ServicesKey, (sp, key) => ActivatorUtilities.CreateInstance<SocketConnectionFactory>(sp)); services.TryAddTransient<IMessageSerializer>(sp => ActivatorUtilities.CreateInstance<MessageSerializer>(sp, sp.GetRequiredService<IOptions<ClientMessagingOptions>>().Value.MaxMessageHeaderSize, sp.GetRequiredService<IOptions<ClientMessagingOptions>>().Value.MaxMessageBodySize)); services.TryAddSingleton<ConnectionFactory, ClientOutboundConnectionFactory>(); services.TryAddSingleton<ClientMessageCenter>(sp => sp.GetRequiredService<OutsideRuntimeClient>().MessageCenter); services.TryAddFromExisting<IMessageCenter, ClientMessageCenter>(); services.AddSingleton<GatewayManager>(); services.TryAddSingleton<INetworkingTrace, NetworkingTrace>(); }
/// <summary> /// Configure cluster client to use SQS persistent streams. /// </summary> public static IClientBuilder AddSqsStreams(this IClientBuilder builder, string name, Action <ClusterClientSqsStreamConfigurator> configure) { configure?.Invoke(builder.AddSqsStreams(name)); return(builder); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder.ConfigureApplicationParts(parts => parts.AddFrameworkPart(typeof(ITestHooksSystemTarget).Assembly)); }
/// <summary> /// Use Linux host environment statistics /// </summary> public static IClientBuilder UseLinuxEnvironmentStatistics(this IClientBuilder builder) { return(builder.ConfigureServices(LinuxEnvironmentStatisticsServices.RegisterServices <IClusterClientLifecycle>)); }
/// <summary> /// Adds support for connecting to a cluster hosted in Service Fabric. /// </summary> /// <param name="clientBuilder">The client builder.</param> /// <param name="serviceName">The Service Fabric service name.</param> /// <returns>The provided client builder.</returns> public static IClientBuilder AddServiceFabric( this IClientBuilder clientBuilder, string serviceName) { return(clientBuilder.AddServiceFabric(new Uri(serviceName))); }
private IClusterClient BuilderClient(string name) { IClientBuilder builder = this.ServiceProvider.GetRequiredServiceByName <IClientBuilder>(name); return(builder.Build()); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) => clientBuilder .AddMemoryStreams <DefaultMemoryMessageBodySerializer>(StreamProviderName, b => b .ConfigurePartitioning(partitionCount));
/// <summary> /// Configure cluster to use indexing using a configure action. /// </summary> public static IClientBuilder UseIndexing(this IClientBuilder builder, Action <IndexingOptions> configureOptions) => UseIndexing(builder, ob => ob.Configure(configureOptions));
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) => clientBuilder.AddStreaming();
public static IClientBuilder UseDashboard(this IClientBuilder builder) { builder.ConfigureApplicationParts(appParts => appParts.AddFrameworkPart(typeof(Dashboard).Assembly).WithReferences()); return(builder); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder.AddSimpleMessageStreamProvider(StreamProvider); }
/// <summary> /// Configures this silo to use MySql for clustering. Instructions on configuring your database are available at <see href="http://aka.ms/orleans-sql-scripts" />. /// </summary> /// <param name="builder">The builder.</param> /// <param name="configureOptions">The configuration delegate.</param> /// <returns> /// The provided <see cref="T:Orleans.IClientBuilder" />. /// </returns> /// <remarks> /// Instructions on configuring your database are available at <see href="http://aka.ms/orleans-sql-scripts" />. /// </remarks> public static IClientBuilder UseMySqlClustering( this IClientBuilder builder, Action <MySqlClusteringClientOptions> configureOptions) => builder.UseOrleansAdoNetClustering(configureOptions);
public static IClientBuilder UseRedisGatewayListProvider(this IClientBuilder builder, Action <RedisClusteringOptions> configureOptions) { return(builder.ConfigureServices(services => services.UseRedisGatewayListProvider(configureOptions))); }
public ClusterClientMemoryStreamConfigurator(string name, IClientBuilder builder) : base(name, builder, MemoryAdapterFactory <TSerializer> .Create) { builder .ConfigureApplicationParts(parts => parts.AddFrameworkPart(typeof(MemoryAdapterFactory <>).Assembly)); }
public static IClientBuilder UseMessageContext <TMessageContext>(this IClientBuilder builder) where TMessageContext : new() { return(UseMessageContext(builder, context => new TMessageContext())); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) => BaseIndexingFixture.Configure(clientBuilder) .UseIndexing(indexingOptions => ConfigureBasicOptions(indexingOptions));
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder.Configure <TypeManagementOptions>(options => options.TypeMapRefreshInterval = ClientRefreshDelay); }
public void Configure(IConfiguration configuration, IClientBuilder clientBuilder) { clientBuilder .AddMemoryStreams <DefaultMemoryMessageBodySerializer>(StreamProviderName); }