Namespace Grpc.Core
Classes
AsyncClientStreamingCall<TRequest, TResponse>
Return type for client streaming calls.
AsyncDuplexStreamingCall<TRequest, TResponse>
Return type for bidirectional streaming calls.
AsyncServerStreamingCall<TResponse>
Return type for server streaming calls.
AsyncUnaryCall<TResponse>
Return type for single request - single response call.
AuthContext
Authentication context for a call. AuthContext is the only reliable source of truth when it comes to authenticating calls. Using any other call/context properties for authentication purposes is wrong and inherently unsafe. Note: experimental API that can change or be removed without any prior notice.
AuthInterceptorContext
Context for an RPC being intercepted by AsyncAuthInterceptor.
AuthProperty
A property of an AuthContext. Note: experimental API that can change or be removed without any prior notice.
CallCredentials
Client-side call credentials. Provide authorization with per-call granularity.
CallInvoker
Abstraction of client-side RPC invocation.
Calls
Helper methods for generated clients to make RPC calls. Most users will use this class only indirectly and will be making calls using client object generated from protocol buffer definition files.
Channel
Represents a gRPC channel. Channels are an abstraction of long-lived connections to remote servers. More 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.
ChannelCredentials
Client-side channel credentials. Used for creation of a secure channel.
ChannelOption
Channel option specified when creating a channel. Corresponds to grpc_channel_args from grpc/grpc.h.
ChannelOptions
Defines names of supported channel options.
ClientBase
Base class for client-side stubs.
ClientBase.ClientBaseConfiguration
Represents configuration of ClientBase. The class itself is visible to subclasses, but contents are marked as internal to make the instances opaque. The verbose name of this class was chosen to make name clash in generated code less likely.
ClientBase<T>
Generic base class for client-side stubs.
ContextPropagationOptions
Options for ContextPropagationToken.
ContextPropagationToken
Token for propagating context of server side handlers to child calls. In situations when a backend is making calls to another backend, it makes sense to propagate properties like deadline and cancellation token of the server call to the child call. The gRPC native layer provides some other contexts (like tracing context) that are not accessible to explicitly C# layer, but this token still allows propagating them.
DefaultCallInvoker
Invokes client RPCs using Calls.
GrpcEnvironment
Encapsulates initialization and shutdown of gRPC library.
KeyCertificatePair
Key certificate pair (in PEM encoding).
Marshaller<T>
Encapsulates the logic for serializing and deserializing messages.
Marshallers
Utilities for creating marshallers.
Metadata
A collection of metadata entries that can be exchanged during a call. gRPC supports these types of metadata:
- Request headersare sent by the client at the beginning of a remote call before any request messages are sent.
- Response headersare sent by the server at the beginning of a remote call handler before any response messages are sent.
- Response trailersare sent by the server at the end of a remote call along with resulting call status.
Metadata.Entry
Metadata entry
Method<TRequest, TResponse>
A description of a remote method.
RpcException
Thrown when remote procedure call fails. Every RpcException
is associated with a resulting Status of the call.
Server
gRPC server. A single server can server arbitrary number of services and can listen on more than one ports.
Server.ServerPortCollection
Collection of server ports.
Server.ServiceDefinitionCollection
Collection of service definitions.
ServerCallContext
Context for a server-side call.
ServerCredentials
Server side credentials.
ServerPort
A port exposed by a server.
ServerServiceDefinition
Mapping of method names to server call handlers.
Normally, the ServerServiceDefinition
objects will be created by the BindService
factory method
that is part of the autogenerated code for a protocol buffers service definition.
ServerServiceDefinition.Builder
Builder class for ServerServiceDefinition.
SslCredentials
Client-side SSL credentials.
SslServerCredentials
Server-side SSL credentials.
VersionInfo
Provides info about current version of gRPC. See https://codingforsmarties.wordpress.com/2016/01/21/how-to-version-assemblies-destined-for-nuget/ for rationale about assembly versioning.
WriteOptions
Options for write operations.
Structs
CallInvocationDetails<TRequest, TResponse>
Details about a client-side call to be invoked.
CallOptions
Options for calls made by client.
Status
Represents RPC result, which consists of StatusCode and an optional detail string.
Interfaces
IAsyncStreamReader<T>
A stream of messages to be read.
Messages can be awaited await reader.MoveNext()
, that returns true
if there is a message available and false
if there are no more messages
(i.e. the stream has been closed).
On the client side, the last invocation of MoveNext()
either returns false
if the call has finished successfully or throws RpcException
if call finished
with an error. Once the call finishes, subsequent invocations of MoveNext()
will
continue yielding the same result (returning false
or throwing an exception).
On the server side, MoveNext()
does not throw exceptions.
In case of a failure, the request stream will appear to be finished
(MoveNext
will return false
) and the CancellationToken
associated with the call will be cancelled to signal the failure.
MoveNext()
operations can be cancelled via a cancellation token. Cancelling
an individual read operation has the same effect as cancelling the entire call
(which will also result in the read operation returning prematurely), but the per-read cancellation
tokens passed to MoveNext() only result in cancelling the call if the read operation haven't finished
yet.
IAsyncStreamWriter<T>
A writable stream of messages.
IClientStreamWriter<T>
Client-side writable stream of messages with Close capability.
IHasWriteOptions
Allows sharing write options between ServerCallContext and other objects.
IMethod
A non-generic representation of a remote method.
IServerStreamWriter<T>
A writable stream of messages that is used in server-side handlers.
Enums
ChannelOption.OptionType
Type of ChannelOption
.
ChannelState
Connectivity state of a channel. Based on grpc_connectivity_state from grpc/grpc.h
CompressionLevel
Compression level based on grpc_compression_level from grpc/compression.h
MethodType
Method types supported by gRPC.
StatusCode
Result of a remote procedure call. Based on grpc_status_code from grpc/status.h
WriteFlags
Flags for write operations.
Delegates
AsyncAuthInterceptor
Asynchronous authentication interceptor for CallCredentials.
ClientStreamingServerMethod<TRequest, TResponse>
Server-side handler for client streaming call.
DuplexStreamingServerMethod<TRequest, TResponse>
Server-side handler for bidi streaming call.
ServerStreamingServerMethod<TRequest, TResponse>
Server-side handler for server streaming call.
UnaryServerMethod<TRequest, TResponse>
Server-side handler for unary call.