GRPC C++  1.24.0
Public Member Functions | Friends
grpc_impl::ServerUnaryStreamer< RequestType, ResponseType > Class Template Referencefinal

A class to represent a flow-controlled unary call. More...

#include <sync_stream_impl.h>

Public Member Functions

void SendInitialMetadata () override
 Block to send initial metadata to client. More...
 
bool NextMessageSize (uint32_t *sz) override
 Get an upper bound on the request message size from the client. More...
 
bool Read (RequestType *request) override
 Read a message of type R into msg. More...
 
bool Write (const ResponseType &response, ::grpc::WriteOptions options) override
 Block to write msg to the stream with WriteOptions options. More...
 
- Public Member Functions inherited from grpc_impl::internal::ServerStreamingInterface
virtual ~ServerStreamingInterface ()
 
- Public Member Functions inherited from grpc_impl::internal::WriterInterface< ResponseType >
virtual ~WriterInterface ()
 
bool Write (const ResponseType &msg)
 Block to write msg to the stream with default write options. More...
 
void WriteLast (const ResponseType &msg, ::grpc::WriteOptions options)
 Write msg and coalesce it with the writing of trailing metadata, using WriteOptions options. More...
 
- Public Member Functions inherited from grpc_impl::internal::ReaderInterface< RequestType >
virtual ~ReaderInterface ()
 

Friends

class ::grpc::internal::TemplatedBidiStreamingHandler< ServerUnaryStreamer< RequestType, ResponseType >, true >
 

Detailed Description

template<class RequestType, class ResponseType>
class grpc_impl::ServerUnaryStreamer< RequestType, ResponseType >

A class to represent a flow-controlled unary call.

This is something of a hybrid between conventional unary and streaming. This is invoked through a unary call on the client side, but the server responds to it as though it were a single-ping-pong streaming call. The server can use the NextMessageSize method to determine an upper-bound on the size of the message. A key difference relative to streaming: ServerUnaryStreamer must have exactly 1 Read and exactly 1 Write, in that order, to function correctly. Otherwise, the RPC is in error.

Member Function Documentation

◆ NextMessageSize()

template<class RequestType , class ResponseType >
bool grpc_impl::ServerUnaryStreamer< RequestType, ResponseType >::NextMessageSize ( uint32_t *  sz)
inlineoverridevirtual

Get an upper bound on the request message size from the client.

Implements grpc_impl::internal::ReaderInterface< RequestType >.

◆ Read()

template<class RequestType , class ResponseType >
bool grpc_impl::ServerUnaryStreamer< RequestType, ResponseType >::Read ( RequestType *  request)
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 ReaderInterface::Read on the same stream since reads on the same stream are delivered in order.

Parameters
[out]msgWhere to eventually store the read message.
[in]tagThe tag identifying the operation.

Implements grpc_impl::internal::ReaderInterface< RequestType >.

◆ SendInitialMetadata()

template<class RequestType , class ResponseType >
void grpc_impl::ServerUnaryStreamer< RequestType, ResponseType >::SendInitialMetadata ( )
inlineoverridevirtual

Block to send initial metadata to client.

Implicit input parameter:

  • the ServerContext associated with this call will be used for sending initial metadata.

Implements grpc_impl::internal::ServerStreamingInterface.

◆ Write()

template<class RequestType , class ResponseType >
bool grpc_impl::ServerUnaryStreamer< RequestType, ResponseType >::Write ( const ResponseType &  msg,
::grpc::WriteOptions  options 
)
inlineoverridevirtual

Block to write msg to the stream with WriteOptions options.

This is thread-safe with respect to ReaderInterface::Read

Parameters
msgThe message to be written to the stream.
optionsThe WriteOptions affecting the write operation.
Returns
true on success, false when the stream has been closed.

Implements grpc_impl::internal::WriterInterface< ResponseType >.

Friends And Related Function Documentation

◆ ::grpc::internal::TemplatedBidiStreamingHandler< ServerUnaryStreamer< RequestType, ResponseType >, true >

template<class RequestType , class ResponseType >
friend class ::grpc::internal::TemplatedBidiStreamingHandler< ServerUnaryStreamer< RequestType, ResponseType >, true >
friend

The documentation for this class was generated from the following file: