Go to the documentation of this file.
19 #ifndef GRPCPP_IMPL_CODEGEN_CALL_OP_SET_H
20 #define GRPCPP_IMPL_CODEGEN_CALL_OP_SET_H
56 const std::multimap<std::string, std::string>&
metadata,
57 size_t* metadata_count,
const std::string& optional_error_details) {
58 *metadata_count =
metadata.size() + (optional_error_details.empty() ? 0 : 1);
59 if (*metadata_count == 0) {
70 if (!optional_error_details.empty()) {
71 metadata_array[
i].
key =
76 return metadata_array;
206 template <
int Unused>
321 if (
msg_ !=
nullptr) {
520 class DeserializeFuncType final :
public DeserializeFunc {
856 template <
class Op1 = CallNoOp<1>,
class Op2 = CallNoOp<2>,
857 class Op3 = CallNoOp<3>,
class Op4 = CallNoOp<4>,
858 class Op5 = CallNoOp<5>,
class Op6 = CallNoOp<6>>
867 template <
class Op1,
class Op2,
class Op3,
class Op4,
class Op5,
class Op6>
888 if (&other ==
this) {
926 this->Op1::FinishOp(
status);
927 this->Op2::FinishOp(
status);
928 this->Op3::FinishOp(
status);
929 this->Op4::FinishOp(
status);
930 this->Op5::FinishOp(
status);
931 this->Op6::FinishOp(
status);
966 static const size_t MAX_OPS = 6;
969 this->Op1::AddOp(
ops, &nops);
970 this->Op2::AddOp(
ops, &nops);
971 this->Op3::AddOp(
ops, &nops);
972 this->Op4::AddOp(
ops, &nops);
973 this->Op5::AddOp(
ops, &nops);
974 this->Op6::AddOp(
ops, &nops);
1045 #endif // GRPCPP_IMPL_CODEGEN_CALL_OP_SET_H
void ContinueFinalizeResultAfterInterception() override
grpc_status_code status_code_
void ClientRecvStatus(grpc::ClientContext *context, Status *status)
struct grpc_byte_buffer * send_message
void SetSendTrailingMetadata(std::multimap< std::string, std::string > *metadata)
std::string send_error_details_
grpc_status_code send_status_code_
bool allow_not_getting_message_
grpc_metadata_array * trailing_metadata
void RegisterAvalanching()
struct grpc_metadata grpc_metadata
grpc_status_code * status
void SetRecvMessage(void *message, bool *hijacked_recv_message_failed)
grpc_byte_buffer * c_buffer()
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *)
virtual void grpc_slice_unref(grpc_slice slice)=0
@ PRE_SEND_INITIAL_METADATA
The first three in this list are for clients and servers.
WriteOptions & set_buffer_hint()
struct grpc_op::grpc_op_data::grpc_op_send_initial_metadata send_initial_metadata
void CompleteAvalanching()
const char * debug_error_string_
WriteOptions & set_last_message()
@ POST_RECV_INITIAL_METADATA
The following two are for all clients and servers.
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
void ServerSendStatus(std::multimap< std::string, std::string > *trailing_metadata, const Status &status)
void AddOp(grpc_op *ops, size_t *nops)
~DeserializeFuncType() override
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *)
void set_output_tag(void *return_tag)
virtual grpc_slice grpc_empty_slice()=0
bool get_buffer_hint() const
void set_core_cq_tag(void *core_cq_tag)
void FinishOpRecvMessageFailureHandler(bool *status)
grpc_byte_buffer ** c_buffer_ptr()
void * core_cq_tag() override
size_t trailing_metadata_count_
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
void RecvMessage(R *message)
std::function< Status(const void *)> serializer_
bool is_last_message() const
void AddInterceptionHookPoint(experimental::InterceptionHookPoints type)
#define GRPC_WRITE_NO_COMPRESS
InterceptorBatchMethodsImpl interceptor_methods_
grpc_slice error_message_slice_
void AddOp(grpc_op *ops, size_t *nops)
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *)
struct grpc_op::grpc_op_data::grpc_op_recv_message recv_message
void AddOp(grpc_op *ops, size_t *nops)
union grpc_op::grpc_op_data data
Per-message write options.
void FinishOp(bool *status)
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
bool Valid() const
Is this ByteBuffer valid?
CoreCodegenInterface * g_core_codegen_interface
struct grpc_byte_buffer ** recv_message
grpc::ClientContext * client_context_
void FinishOpRecvMessageFailureHandler(bool *status)
std::unique_ptr< DeserializeFunc > deserialize_
bool send_status_available_
virtual void * gpr_malloc(size_t size)=0
@ GRPC_OP_RECV_INITIAL_METADATA
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
bool FinalizeResult(void **tag, bool *status) override
@ GRPC_OP_SEND_STATUS_FROM_SERVER
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
static void * tag(intptr_t t)
void SetRecvInitialMetadata(MetadataMap *map)
const char kBinaryErrorDetailsKey[]
Status Deserialize(ByteBuffer *buf) override
#define GRPC_SLICE_IS_EMPTY(slice)
const char ** error_string
void FinishOp(bool *status)
void SetRecvTrailingMetadata(MetadataMap *map)
void set_debug_error_string(const std::string &debug_error_string)
void SetHijackingState(InterceptorBatchMethodsImpl *)
void FillOps(Call *call) override
#define GRPC_WRITE_BUFFER_HINT
grpc::internal::MetadataMap recv_initial_metadata_
#define GRPC_SLICE_START_PTR(slice)
void SetHijackingState(InterceptorBatchMethodsImpl *interceptor_methods)
#define GRPC_WRITE_THROUGH
grpc_metadata * trailing_metadata
void SetHijackingState(InterceptorBatchMethodsImpl *)
grpc_metadata * trailing_metadata_
bool hijacked_recv_message_failed_
bool initial_metadata_received_
bool get_no_compression() const
CallOpSet(const CallOpSet &other)
virtual void gpr_free(void *p)=0
Status SendMessagePtr(const M *message, WriteOptions options) GRPC_MUST_USE_RESULT
void Clear()
Remove all data.
WriteOptions & clear_buffer_hint()
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
void SetHijackingState(InterceptorBatchMethodsImpl *interceptor_methods)
#define GRPC_SLICE_END_PTR(slice)
WriteOptions & clear_last_message()
void SetHijackingState() override
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
Straightforward wrapping of the C call object.
void SetSendInitialMetadata(std::multimap< std::string, std::string > *metadata)
grpc::internal::MetadataMap trailing_metadata_
Status SendMessage(const M &message, WriteOptions options) GRPC_MUST_USE_RESULT
WriteOptions & clear_corked()
void SetRecvStatus(Status *status)
bool GetBit(const uint32_t mask) const
grpc_slice * status_details
void AddOp(grpc_op *ops, size_t *nops)
void Clear()
Clear all flags.
bool allow_not_getting_message_
WriteOptions & clear_write_through()
WriteOptions write_options_
virtual grpc_slice grpc_slice_from_static_buffer(const void *buffer, size_t length)=0
WriteOptions & clear_no_compression()
virtual grpc_call_error grpc_call_start_batch(grpc_call *call, const grpc_op *ops, size_t nops, void *tag, void *reserved)=0
grpc_slice error_message_
struct grpc_op::grpc_op_data::grpc_op_send_status_from_server send_status_from_server
bool InterceptorsListEmpty()
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
void FinishOp(bool *status)
void ContinueFillOpsAfterInterception() override
@ GRPC_OP_SEND_INITIAL_METADATA
bool RunInterceptorsPostRecv()
struct grpc_op::grpc_op_data::grpc_op_send_message send_message
void SetHijackingState(InterceptorBatchMethodsImpl *interceptor_methods)
DeserializeFuncType(R *message)
void SetFinishInterceptionHookPoint(InterceptorBatchMethodsImpl *)
grpc::CompletionQueue * cq() const
struct grpc_op::grpc_op_data::grpc_op_recv_status_on_client recv_status_on_client
size_t trailing_metadata_count
uint32_t flags() const
Returns raw flags bitset.
void SetBit(const uint32_t mask)
GRPC_CUSTOM_UTIL_STATUS Status
MetadataMap * metadata_map_
void SetSendStatus(grpc_status_code *code, std::string *error_details, std::string *error_message)
void SetHijackingState(InterceptorBatchMethodsImpl *)
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
std::string send_error_message_
WriteOptions & set_write_through()
void ClearBit(const uint32_t mask)
virtual void grpc_call_ref(grpc_call *call)=0
void SetCallOpSetInterface(CallOpSetInterface *ops)
#define GPR_CODEGEN_ASSERT(x)
Codegen specific version of GPR_ASSERT.
void AddOp(grpc_op *, size_t *)
CallOpSet & operator=(const CallOpSet &other)
bool hijacked_recv_message_failed_
virtual Status Deserialize(ByteBuffer *buf)=0
grpc::ClientContext context
WriteOptions & set_corked()
grpc_metadata * FillMetadataArray(const std::multimap< std::string, std::string > &metadata, size_t *metadata_count, const std::string &optional_error_details)
void AddOp(grpc_op *ops, size_t *nops)
void SetSendMessage(ByteBuffer *buf, const void **msg, bool *fail_send_message, std::function< Status(const void *)> serializer)
struct grpc_op::grpc_op_data::grpc_op_recv_initial_metadata recv_initial_metadata
grpc_slice * status_details
@ GRPC_OP_RECV_STATUS_ON_CLIENT
void AddOp(grpc_op *ops, size_t *nops)
WriteOptions & set_no_compression()
bool is_write_through() const
std::multimap< std::string, std::string > * metadata_map_
void SetHijackingState(InterceptorBatchMethodsImpl *)
void SetInterceptionHookPoint(InterceptorBatchMethodsImpl *interceptor_methods)
void RecvMessage(R *message)
virtual ~DeserializeFunc()
virtual void grpc_call_unref(grpc_call *call)=0
@ GRPC_OP_SEND_CLOSE_FROM_CLIENT
ByteBufferPointer bbuf_ptr() const
grpc_slice SliceReferencingString(const std::string &str)
#define GPR_CODEGEN_DEBUG_ASSERT(x)
Codegen specific version of GPR_DEBUG_ASSERT.
@ PRE_RECV_INITIAL_METADATA
grpc
Author(s):
autogenerated on Fri May 16 2025 02:57:51