#include <async_stream.h>
Public Member Functions | |
void | Finish (const grpc::Status &status, void *tag) override |
void | Read (R *msg, void *tag) override |
void | SendInitialMetadata (void *tag) override |
ServerAsyncReaderWriter (grpc::ServerContext *ctx) | |
void | Write (const W &msg, grpc::WriteOptions options, void *tag) override |
void | Write (const W &msg, void *tag) override |
void | WriteAndFinish (const W &msg, grpc::WriteOptions options, const grpc::Status &status, void *tag) override |
![]() | |
virtual | ~ServerAsyncStreamingInterface () |
![]() | |
void | WriteLast (const W &msg, grpc::WriteOptions options, void *tag) |
virtual | ~AsyncWriterInterface () |
![]() | |
virtual | ~AsyncReaderInterface () |
Private Member Functions | |
void | BindCall (grpc::internal::Call *call) override |
template<class T > | |
void | EnsureInitialMetadataSent (T *ops) |
Friends | |
class | grpc::Server |
Async server-side API for doing bidirectional streaming RPCs, where the incoming message stream coming from the client has messages of type R, and the outgoing message stream coming from the server has messages of type W.
Definition at line 1010 of file grpcpp/impl/codegen/async_stream.h.
|
inlineexplicit |
Definition at line 1013 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverrideprivatevirtual |
Implements grpc::internal::ServerAsyncStreamingInterface.
Definition at line 1103 of file grpcpp/impl/codegen/async_stream.h.
|
inlineprivate |
Definition at line 1106 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverridevirtual |
See the ServerAsyncReaderWriterInterface.Finish method for semantics.
Implicit input parameter:
Note: there are no restrictions are the code of status, it may be non-OK gRPC doesn't take ownership or a reference to status, so it is safe to to deallocate once Finish returns.
Implements grpc::ServerAsyncReaderWriterInterface< W, R >.
Definition at line 1092 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverridevirtual |
Read a message of type R into msg. Completion will be notified by tag on the associated completion queue. This is thread-safe with respect to Write or WritesDone methods. It should not be called concurrently with other streaming APIs on the same stream. It is not meaningful to call it concurrently with another AsyncReaderInterface::Read on the same stream since reads on the same stream are delivered in order.
[out] | msg | Where to eventually store the read message. |
[in] | tag | The tag identifying the operation. |
Side effect: note that this method attempt to receive initial metadata for a stream if it hasn't yet been received.
Implements grpc::internal::AsyncReaderInterface< R >.
Definition at line 1036 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverridevirtual |
See ServerAsyncStreamingInterface::SendInitialMetadata for semantics.
Implicit input parameter:
[in] | tag | Tag identifying this request. |
Implements grpc::internal::ServerAsyncStreamingInterface.
Definition at line 1023 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverridevirtual |
Request the writing of msg using WriteOptions options with identifying tag tag.
Only one write may be outstanding at any given time. This means that after calling Write, one must wait to receive tag from the completion queue BEFORE calling Write again. WriteOptions options is used to set the write options of this message. This is thread-safe with respect to AsyncReaderInterface::Read
gRPC doesn't take ownership or a reference to msg, so it is safe to to deallocate once Write returns.
[in] | msg | The message to be written. |
[in] | options | The WriteOptions to be used to write this message. |
[in] | tag | The tag identifying the operation. |
Implements grpc::internal::AsyncWriterInterface< W >.
Definition at line 1050 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverridevirtual |
Request the writing of msg with identifying tag tag.
Only one write may be outstanding at any given time. This means that after calling Write, one must wait to receive tag from the completion queue BEFORE calling Write again. This is thread-safe with respect to AsyncReaderInterface::Read
gRPC doesn't take ownership or a reference to msg, so it is safe to to deallocate once Write returns.
[in] | msg | The message to be written. |
[in] | tag | The tag identifying the operation. |
Implements grpc::internal::AsyncWriterInterface< W >.
Definition at line 1042 of file grpcpp/impl/codegen/async_stream.h.
|
inlineoverridevirtual |
See the ServerAsyncReaderWriterInterface.WriteAndFinish method for semantics.
Implicit input parameter:
Note: status must have an OK code. gRPC doesn't take ownership or a reference to msg and status, so it is safe to deallocate once WriteAndFinish returns.
Implements grpc::ServerAsyncReaderWriterInterface< W, R >.
Definition at line 1071 of file grpcpp/impl/codegen/async_stream.h.
|
friend |
Definition at line 1101 of file grpcpp/impl/codegen/async_stream.h.
|
private |
Definition at line 1117 of file grpcpp/impl/codegen/async_stream.h.
|
private |
Definition at line 1118 of file grpcpp/impl/codegen/async_stream.h.
|
private |
Definition at line 1128 of file grpcpp/impl/codegen/async_stream.h.
|
private |
Definition at line 1120 of file grpcpp/impl/codegen/async_stream.h.
|
private |
Definition at line 1121 of file grpcpp/impl/codegen/async_stream.h.
Definition at line 1125 of file grpcpp/impl/codegen/async_stream.h.