Grpc.Net.Client Represents a configuration object. Implementations provide strongly typed wrappers over collections of untyped values. Gets the underlying configuration values. The hedging policy for outgoing calls. Hedged calls may execute more than once on the server, so only idempotent methods should specify a hedging policy. Represents the HedgingPolicy message in . Initializes a new instance of the class. Gets or sets the maximum number of call attempts. This value includes the original attempt. The hedging policy will send up to this number of calls. This property is required and must be 2 or greater. This value is limited by . Gets or sets the hedging delay. The first call will be sent immediately, but the subsequent hedged call will be sent at intervals of the specified delay. Set this to 0 or null to immediately send all hedged calls. Gets a collection of status codes which indicate other hedged calls may still succeed. If a non-fatal status code is returned by the server, hedged calls will continue. Otherwise, outstanding requests will be canceled and the error returned to the client application layer. Specifying status codes is optional. Base type for load balancer policy configuration. pick_first policy name. round_robin policy name. Initializes a new instance of the class. Gets the load balancer policy name. Configuration for a method. The collection is used to determine which methods this configuration applies to. Represents the MethodConfig message in . Initializes a new instance of the class. Gets or sets the retry policy for outgoing calls. A retry policy can't be combined with . Gets or sets the hedging policy for outgoing calls. Hedged calls may execute more than once on the server, so only idempotent methods should specify a hedging policy. A hedging policy can't be combined with . Gets a collection of names which determine the calls the method config will apply to. A without names won't be used. Each name must be unique across an entire . If a name's property isn't set then the method config is the default for all methods for the specified service. If a name's property isn't set then must also be unset, and the method config is the default for all methods on all services. represents this global default name. When determining which method config to use for a given RPC, the most specific match wins. A method config with a configured that exactly matches a call's method and service will be used instead of a service or global default method config. The name of a method. Used to configure what calls a applies to using the collection. Represents the Name message in . If a name's property isn't set then the method config is the default for all methods for the specified service. If a name's property isn't set then must also be unset, and the method config is the default for all methods on all services. represents this global default name. When determining which method config to use for a given RPC, the most specific match wins. A method config with a configured that exactly matches a call's method and service will be used instead of a service or global default method config. A global default name. Initializes a new instance of the class. Gets or sets the service name. Gets or sets the method name. Configuration for pick_first load balancer policy. Initializes a new instance of the class. The retry policy for outgoing calls. Initializes a new instance of the class. Gets or sets the maximum number of call attempts. This value includes the original attempt. This property is required and must be greater than 1. This value is limited by . Gets or sets the initial backoff. A randomized delay between 0 and the current backoff value will determine when the next retry attempt is made. This property is required and must be greater than zero. The backoff will be multiplied by after each retry attempt and will increase exponentially when the multiplier is greater than 1. Gets or sets the maximum backoff. The maximum backoff places an upper limit on exponential backoff growth. This property is required and must be greater than zero. Gets or sets the backoff multiplier. The backoff will be multiplied by after each retry attempt and will increase exponentially when the multiplier is greater than 1. This property is required and must be greater than 0. Gets a collection of status codes which may be retried. At least one status code is required. The retry throttling policy for a server. For more information about configuring throttling, see . Represents the RetryThrottlingPolicy message in . Initializes a new instance of the class. Gets or sets the maximum number of tokens. The number of tokens starts at and the token count will always be between 0 and . This property is required and must be greater than zero. Gets or sets the amount of tokens to add on each successful call. Typically this will be some number between 0 and 1, e.g., 0.1. This property is required and must be greater than zero. Up to 3 decimal places are supported. Configuration for pick_first load balancer policy. Initializes a new instance of the class. A represents information about a service. Represents the ServiceConfig message in . Initializes a new instance of the class. Gets a collection of instances. The client will iterate through the configured policies in order and use the first policy that is supported. If none are supported by the client then a configuration error is thrown. Gets a collection of instances. This collection is used to specify configuration on a per-method basis. determines which calls a method config applies to. Gets or sets the retry throttling policy. If a is provided, gRPC will automatically throttle retry attempts and hedged RPCs when the client's ratio of failures to successes exceeds a threshold. For more information about configuring throttling, see . Represents a gRPC channel. Channels are an abstraction of long-lived connections to remote servers. Client objects can reuse the same channel. Creating a channel is an expensive operation compared to invoking a remote call so in general you should reuse a single channel for as many calls as possible. Create a new for the channel. A new . Creates a for the specified address. The address the channel will use. A new instance of . Creates a for the specified address and configuration options. The address the channel will use. The channel configuration options. A new instance of . Creates a for the specified address. The address the channel will use. A new instance of . Creates a for the specified address and configuration options. The address the channel will use. The channel configuration options. A new instance of . Releases the resources used by the class. Clients created with the channel can't be used after the channel is disposed. An options class for configuring a . Gets or sets the credentials for the channel. This setting is used to set for a channel. Connection transport layer security (TLS) is determined by the address used to create the channel. The channel credentials you use must match the address TLS setting. Use for an "http" address and for "https". The underlying used by the channel automatically loads root certificates from the operating system certificate store. Client certificates should be configured on HttpClient. See for details. Gets or sets the maximum message size in bytes that can be sent from the client. Attempting to send a message that exceeds the configured maximum message size results in an exception. A null value removes the maximum message size limit. Defaults to null. Gets or sets the maximum message size in bytes that can be received by the client. If the client receives a message that exceeds this limit, it throws an exception. A null value removes the maximum message size limit. Defaults to 4,194,304 (4 MB). Gets or sets the maximum retry attempts. This value limits any retry and hedging attempt values specified in the service config. Setting this value alone doesn't enable retries. Retries are enabled in the service config, which can be done using . A null value removes the maximum retry attempts limit. Defaults to 5. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the maximum buffer size in bytes that can be used to store sent messages when retrying or hedging calls. If the buffer limit is exceeded, then no more retry attempts are made and all hedging calls but one will be canceled. This limit is applied across all calls made using the channel. Setting this value alone doesn't enable retries. Retries are enabled in the service config, which can be done using . A null value removes the maximum retry buffer size limit. Defaults to 16,777,216 (16 MB). Note: Experimental API that can change or be removed without any prior notice. Gets or sets the maximum buffer size in bytes that can be used to store sent messages when retrying or hedging calls. If the buffer limit is exceeded, then no more retry attempts are made and all hedging calls but one will be canceled. This limit is applied to one call. Setting this value alone doesn't enable retries. Retries are enabled in the service config, which can be done using . A null value removes the maximum retry buffer size limit per call. Defaults to 1,048,576 (1 MB). Note: Experimental API that can change or be removed without any prior notice. Gets or sets a collection of compression providers. Gets or sets the logger factory used by the channel. If no value is specified then the channel attempts to resolve an from the . Gets or sets the used by the channel to make HTTP calls. By default a specified here will not be disposed with the channel. To dispose the with the channel you must set to true. Only one HTTP caller can be specified for a channel. An error will be thrown if this is configured together with . Gets or sets the used by the channel to make HTTP calls. By default a specified here will not be disposed with the channel. To dispose the with the channel you must set to true. Only one HTTP caller can be specified for a channel. An error will be thrown if this is configured together with . Gets or sets a value indicating whether the underlying or should be disposed when the instance is disposed. The default value is false. This setting is used when a or value is specified. If they are not specified then the channel will create an internal HTTP caller that is always disposed when the channel is disposed. Gets or sets a value indicating whether clients will throw for a call when its is triggered or its is exceeded. The default value is false. Note: Experimental API that can change or be removed without any prior notice. Gets or sets a value indicating whether a gRPC call's are used by an insecure channel. The default value is false. Note: Experimental API that can change or be removed without any prior notice. The default value for this property is false, which causes an insecure channel to ignore a gRPC call's . Sending authentication headers over an insecure connection has security implications and shouldn't be done in production environments. If this property is set to true, call credentials are always used by a channel. Gets or sets the service config for a gRPC channel. A service config allows service owners to publish parameters to be automatically used by all clients of their service. A service config can also be specified by a client using this property. Note: Experimental API that can change or be removed without any prior notice. Gets or sets the the channel uses to resolve types. Note: Experimental API that can change or be removed without any prior notice. Initializes a new instance of the class. A value indicating whether there is an async write already in progress. Should only check this property when holding the write lock. Clean up can be called by: 1. The user. AsyncUnaryCall.Dispose et al will call this on Dispose 2. will call dispose if errors fail validation 3. will call dispose Used by response stream reader to report it is finished. The completed response status code. true when the end of the response stream was read, otherwise false. Resolve the specified exception to an end-user exception that will be thrown from the client. The resolved exception is normally a RpcException. Returns true when the resolved exception is changed. Obtains the payload from this operation. Error is thrown if complete hasn't been called. Cached log scope and URI for a gRPC . Gets key value pairs used by debugging. These are provided as an enumerator instead of a dictionary because it's one method to implement an enumerator on gRPC calls compared to a dozen members for a dictionary. Resolve the exception from HttpClient to a gRPC status code. The to resolve a from. WinHttp doesn't support streaming request data so a length needs to be specified. This HttpContent pre-serializes the payload so it has a length available. The payload is then written directly to the request using specialized context and serializer method. A client-side RPC invocation using HttpClient. Invokes a client streaming call asynchronously. In client streaming scenario, client sends a stream of requests and server responds with a single response. Invokes a duplex streaming call asynchronously. In duplex streaming scenario, client sends a stream of requests and server responds with a stream of responses. The response stream is completely independent and both side can be sending messages at the same time. Invokes a server streaming call asynchronously. In server streaming scenario, client sends on request and server responds with a stream of responses. Invokes a simple remote call asynchronously. Invokes a simple remote call in a blocking fashion. A value indicating whether there is an async move next already in progress. Should only check this property when holding the move next lock. Types for calling RtlGetVersion. See https://www.pinvoke.net/default.aspx/ntdll/RtlGetVersion.html The operation completed successfully. Observes and ignores a potential exception on a given Task. If a Task fails and throws an exception which is never observed, it will be caught by the .NET finalizer thread. This function awaits the given task and if the exception is thrown, it observes this exception and simply ignores it. This will prevent the escalation of this exception to the .NET finalizer thread. The task to be ignored. Generates a user agent string to be transported in headers. grpc-dotnet/2.41.0-dev (.NET 6.0.0-preview.7.21377.19; CLR 6.0.0; net6.0; osx; x64) grpc-dotnet/2.41.0-dev (Mono 6.12.0.140; CLR 4.0.30319; netstandard2.0; osx; x64) grpc-dotnet/2.41.0-dev (.NET 6.0.0-rc.1.21380.1; CLR 6.0.0; net6.0; linux; arm64) grpc-dotnet/2.41.0-dev (.NET 5.0.8; CLR 5.0.8; net5.0; linux; arm64) grpc-dotnet/2.41.0-dev (.NET Core; CLR 3.1.4; netstandard2.1; linux; arm64) grpc-dotnet/2.41.0-dev (.NET Framework; CLR 4.0.30319.42000; netstandard2.0; windows; x86) grpc-dotnet/2.41.0-dev (.NET 6.0.0-rc.1.21380.1; CLR 6.0.0; net6.0; windows; x64) Throws an if the specified is . The condition to evaluate. The object whose type's full name should be included in any resulting . The is . Throws an if the specified is . The condition to evaluate. The type whose full name should be included in any resulting . The is . Throws an if is null. The reference type argument to validate as non-null. The name of the parameter with which corresponds. Specifies that the method or property will ensure that the listed field and property members have not-null values. Initializes the attribute with a field or property member. The field or property member that is promised to be not-null. Initializes the attribute with the list of field and property members. The list of field and property members that are promised to be not-null. Gets field or property member names. Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition. Initializes the attribute with the specified return value condition and a field or property member. The return value condition. If the method returns this value, the associated parameter will not be null. The field or property member that is promised to be not-null. Initializes the attribute with the specified return value condition and list of field and property members. The return value condition. If the method returns this value, the associated parameter will not be null. The list of field and property members that are promised to be not-null. Gets the return value condition. Gets field or property member names.