23#ifndef GCS_XCOM_INPUT_QUEUE_INCLUDED
24#define GCS_XCOM_INPUT_QUEUE_INCLUDED
31#include "plugin/group_replication/libmysqlgcs/xdr_gen/xcom_vp.h"
93 m_promise.set_value(std::unique_ptr<Reply>(
this));
140 bool const successful = (reply !=
nullptr);
160 bool const successful = (reply !=
nullptr);
178 if (payload ==
nullptr)
return nullptr;
184 while (payload !=
nullptr) {
196 while (cursor !=
nullptr) {
200 cursor = next_request;
218 bool successful =
false;
219 auto *xcom_reply =
new (std::nothrow)
Reply();
220 if (xcom_reply ==
nullptr) {
229 if (xcom_request ==
nullptr) {
234 xcom_reply =
nullptr;
239 successful =
m_queue.push(xcom_request);
242 xcom_reply =
nullptr;
MPSC queue with FIFO semantics.
Definition: gcs_mpsc_queue.h:39
Implements a persistent FIFO using server List method names.
Definition: sql_profile.h:75
T * pop()
Definition: sql_profile.h:121
Cursor end()
A past-the-end Cursor.
Definition: rules_table_service.cc:191
#define replace_pax_msg(target, p)
Definition: pax_msg.h:62
struct pax_msg pax_msg
Definition: site_struct.h:36
bool_t(* xdrproc_t)(XDR *, void *,...)
Definition: xdr.h:142
void xdr_free(xdrproc_t __proc, char *__objp) __THROW
Definition: xdr.c:62