Go to the documentation of this file.
18 #ifndef GRPCPP_IMPL_CODEGEN_SYNC_STREAM_H
19 #define GRPCPP_IMPL_CODEGEN_SYNC_STREAM_H
178 class ClientReader final :
public ClientReaderInterface<R> {
264 ops.ClientSendClose();
301 class ClientWriter :
public ClientWriterInterface<W> {
331 if (
options.is_last_message()) {
333 ops.ClientSendClose();
350 ops.ClientSendClose();
413 template <
class W,
class R>
434 template <
class W,
class R>
449 template <
class W,
class R>
450 class ClientReaderWriter final :
public ClientReaderWriterInterface<W, R> {
501 if (
options.is_last_message()) {
503 ops.ClientSendClose();
520 ops.ClientSendClose();
621 template <
class ServiceType,
class RequestType,
class ResponseType>
664 if (
options.is_last_message()) {
683 if (
options.is_last_message()) {
695 template <
class ServiceType,
class RequestType,
class ResponseType>
703 template <
class W,
class R>
710 template <
class W,
class R>
711 class ServerReaderWriterBody final {
748 if (
options.is_last_message()) {
766 if (
options.is_last_message()) {
785 template <
class W,
class R>
794 return body_.NextMessageSize(sz);
826 template <
class RequestType,
class ResponseType>
892 template <
class RequestType,
class ResponseType>
950 #endif // GRPCPP_IMPL_CODEGEN_SYNC_STREAM_H
bool Read(R *msg) override
Client-side interface for streaming reads of message of type R.
grpc::internal::CallOpSet< grpc::internal::CallOpSendInitialMetadata, grpc::internal::CallOpSendMessage > pending_ops_
std::multimap< std::string, std::string > send_initial_metadata_
Common interface for all synchronous server side streaming.
void WaitForInitialMetadata()
void WaitForInitialMetadata() override
An interface that can be fed a sequence of messages of type W.
grpc::internal::Call *const call_
void SendInitialMetadata() override
grpc::ClientContext * context_
bool NextMessageSize(uint32_t *sz) override
Get an upper bound on the request message size from the client.
ClientWriter(grpc::ChannelInterface *channel, const grpc::internal::RpcMethod &method, grpc::ClientContext *context, R *response)
virtual grpc::Status Finish()=0
grpc::ServerContext *const ctx_
ServerReader(grpc::internal::Call *call, grpc::ServerContext *ctx)
bool Write(const W &msg, grpc::WriteOptions options) override
Client-side interface for streaming writes of message type W.
void SendInitialMetadata() override
bool Read(RequestType *request) override
virtual bool NextMessageSize(uint32_t *sz)=0
bool Read(R *msg) override
bool NextMessageSize(uint32_t *sz) override
ServerWriter(grpc::internal::Call *call, grpc::ServerContext *ctx)
grpc::internal::Call *const call_
bool NextMessageSize(uint32_t *sz) override
Get an upper bound on the request message size from the client.
virtual bool WritesDone()=0
void WaitForInitialMetadata() override
ServerSplitStreamer(grpc::internal::Call *call, grpc::ServerContext *ctx)
void MaybeMarkCancelledOnRead()
ServerReaderWriterBody(grpc::internal::Call *call, grpc::ServerContext *ctx)
Per-message write options.
bool Pluck(grpc::internal::CompletionQueueTag *tag)
virtual bool Read(R *msg)=0
bool NextMessageSize(uint32_t *sz)
bool WritesDone() override
void set_initial_metadata_corked(bool corked)
void SendInitialMetadata()
Codegen interface for grpc::Channel.
wrapped_grpc_channel * channel
@ GRPC_CQ_DEFAULT_POLLING
uint32_t initial_metadata_flags() const
Descriptor of an RPC method.
grpc::Status Finish() override
bool NextMessageSize(uint32_t *sz) override
An interface that yields a sequence of messages of type R.
int max_receive_message_size() const
bool NextMessageSize(uint32_t *sz) override
std::multimap< std::string, std::string > initial_metadata_
void PerformOps(CallOpSetInterface *ops)
virtual ~ReaderInterface()
internal::ServerReaderWriterBody< ResponseType, RequestType > body_
virtual ~ServerStreamingInterface()
virtual ~WriterInterface()
virtual void WaitForInitialMetadata()=0
void SendInitialMetadata() override
static ClientReader< R > * Create(grpc::ChannelInterface *channel, const grpc::internal::RpcMethod &method, grpc::ClientContext *context, const W &request)
grpc::Status Finish() override
bool initial_metadata_received_
Server-side interface for bi-directional streaming.
virtual void SendInitialMetadata()=0
grpc_compression_level compression_level() const
Return the compression algorithm to be used by the server call.
internal::ServerReaderWriterBody< W, R > body_
bool WritesDone() override
grpc::ServerContext *const ctx_
bool Write(const W &msg, grpc::WriteOptions options) override
bool Write(const ResponseType &response, grpc::WriteOptions options) override
Straightforward wrapping of the C call object.
grpc::Status Finish() override
uint32_t initial_metadata_flags() const
static ClientWriter< W > * Create(grpc::ChannelInterface *channel, const grpc::internal::RpcMethod &method, grpc::ClientContext *context, R *response)
grpc::internal::Call call_
grpc::CompletionQueue cq_
bool sent_initial_metadata_
virtual bool Write(const W &msg, grpc::WriteOptions options)=0
grpc::ClientContext * context_
bool Write(const ResponseType &response, grpc::WriteOptions options) override
void WriteLast(const W &msg, grpc::WriteOptions options)
grpc::internal::Call *const call_
bool Read(R *msg) override
grpc::internal::Call call_
void SendInitialMetadata() override
ServerUnaryStreamer(grpc::internal::Call *call, grpc::ServerContext *ctx)
#define GRPC_CQ_CURRENT_VERSION
static ClientReaderWriter< W, R > * Create(grpc::ChannelInterface *channel, const grpc::internal::RpcMethod &method, grpc::ClientContext *context)
Server-side interface for streaming reads of message of type R.
ClientReaderWriter(grpc::ChannelInterface *channel, const grpc::internal::RpcMethod &method, grpc::ClientContext *context)
grpc::CompletionQueue * cq() const
bool NextMessageSize(uint32_t *sz) override
grpc::ClientContext * context_
virtual void WaitForInitialMetadata()=0
ClientReader(grpc::ChannelInterface *channel, const grpc::internal::RpcMethod &method, grpc::ClientContext *context, const W &request)
bool initial_metadata_corked_
Server-side interface for streaming writes of message of type W.
virtual bool WritesDone()=0
bool Read(RequestType *request) override
#define GPR_CODEGEN_ASSERT(x)
Codegen specific version of GPR_ASSERT.
bool Write(const W &msg, grpc::WriteOptions options) override
Common interface for all synchronous client side streaming.
grpc::CompletionQueue cq_
grpc::internal::Call call_
grpc::ClientContext context
void SendInitialMetadata() override
ServerContext *const ctx_
bool Write(const W &msg, grpc::WriteOptions options)
virtual ~ClientStreamingInterface()
internal::ServerReaderWriterBody< ResponseType, RequestType > body_
bool Write(const W &msg, grpc::WriteOptions options) override
bool Read(R *msg) override
grpc::internal::CallOpSet< grpc::internal::CallOpRecvInitialMetadata, grpc::internal::CallOpGenericRecvMessage, grpc::internal::CallOpClientRecvStatus > finish_ops_
bool compression_level_set() const
A wrapper class of an application provided server streaming handler.
A wrapper class of an application provided client streaming handler.
grpc::CompletionQueue cq_
ServerReaderWriter(grpc::internal::Call *call, grpc::ServerContext *ctx)
grpc
Author(s):
autogenerated on Thu Mar 13 2025 03:01:28