vt::rdma::State struct

Public types

using RDMA_InfoType = Info
using RDMA_TypeType = Type
using RDMA_MapType = Map
using RDMA_GroupType = Group
using RDMA_GetFunctionType = ActiveGetFunctionType
using RDMA_PutFunctionType = ActivePutFunctionType
template<typename MsgType>
using RDMA_GetTypedFunctionType = ActiveTypedGetFunctionType<MsgType>
template<typename MsgType>
using RDMA_PutTypedFunctionType = ActiveTypedPutFunctionType<MsgType>
using RDMA_TagGetHolderType = std::tuple<RDMA_GetFunctionType, RDMA_HandlerType, vt::HandlerType>
using RDMA_TagPutHolderType = std::tuple<RDMA_PutFunctionType, RDMA_HandlerType, vt::HandlerType>
using RDMA_FunctionType = BaseMessage
template<typename T>
using TagContainerType = std::unordered_map<TagType, T>
template<typename T>
using ContainerType = std::vector<T>

Public static functions

static auto defaultGetHandlerFn(StateMessage<State>* msg, ByteType num_bytes, ByteType req_offset, TagType tag, bool is_local) -> RDMA_GetType
static void defaultPutHandlerFn(StateMessage<State>* msg, RDMA_PtrType in_ptr, ByteType in_num_bytes, ByteType req_offset, TagType tag, bool is_local)

Constructors, destructors, conversion operators

State(RDMA_HandleType const& in_handle, RDMA_PtrType const& in_ptr = no_rdma_ptr, ByteType const& in_num_bytes = no_byte, bool const& use_default_handler = false)

Public functions

template<typename MsgT, typename FuncT, ActiveTypedRDMAGetFnType<MsgT>* f>
auto setRDMAGetFn(MsgT* msg, FuncT const& fn, bool const& any_tag = false, TagType const& tag = no_tag) -> RDMA_HandlerType
template<typename MsgT, typename FuncT, ActiveTypedRDMAPutFnType<MsgT>* f>
auto setRDMAPutFn(MsgT* msg, FuncT const& fn, bool const& any_tag = false, TagType const& tag = no_tag) -> RDMA_HandlerType
void unregisterRdmaHandler(RDMA_TypeType const& type, TagType const& tag, bool const& use_default)
void unregisterRdmaHandler(RDMA_HandlerType const& handler, TagType const& tag)
auto makeRdmaHandler(RDMA_TypeType const& rdma_type) -> RDMA_HandlerType
auto testReadyGetData(TagType const& tag) -> bool
auto testReadyPutData(TagType const& tag) -> bool
void getData(GetMessage* msg, bool const& is_user_msg, RDMA_InfoType const& info, NodeType const& from_node)
void putData(PutMessage* msg, bool const& is_user_msg, RDMA_InfoType const& info, NodeType const& from_node)
void processPendingGet(TagType const& tag = no_tag)
void setDefaultHandler()
template<typename Serializer>
void serialize(Serializer& s)

Public variables

RDMA_HandleType handle
RDMA_PtrType ptr
ByteType num_bytes
bool using_default_put_handler
bool using_default_get_handler
std::unique_ptr<RDMA_GroupType> group_info