24#ifndef GCS_XCOM_INPUT_QUEUE_INCLUDED
25#define GCS_XCOM_INPUT_QUEUE_INCLUDED
32#include "plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp.h"
94 m_promise.set_value(std::unique_ptr<Reply>(
this));
141 bool const successful = (reply !=
nullptr);
161 bool const successful = (reply !=
nullptr);
179 if (payload ==
nullptr)
return nullptr;
185 while (payload !=
nullptr) {
197 while (cursor !=
nullptr) {
201 cursor = next_request;
219 bool successful =
false;
220 auto *xcom_reply =
new (std::nothrow)
Reply();
221 if (xcom_reply ==
nullptr) {
230 if (xcom_request ==
nullptr) {
235 xcom_reply =
nullptr;
240 successful =
m_queue.push(xcom_request);
243 xcom_reply =
nullptr;
MPSC queue with FIFO semantics.
Definition: gcs_mpsc_queue.h:40
Implements a persistent FIFO using server List method names.
Definition: sql_profile.h:76
T * pop()
Definition: sql_profile.h:122
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:192
#define replace_pax_msg(target, p)
Definition: pax_msg.h:63
struct pax_msg pax_msg
Definition: site_struct.h:37
bool_t(* xdrproc_t)(XDR *, void *,...)
Definition: xdr.h:143
void xdr_free(xdrproc_t __proc, char *__objp) __THROW
Definition: xdr.c:63