template<typename EnvelopeT>
vt::messaging::ActiveMsg struct

The base class for all messages. Common alias is vt::Message which uses the default envelope.

This is templated over the envelope to allow longer or shorter messages to be used depending on the target and needed envelope bits.

Base classes

struct BaseMsg
The very lowest base class for a message. Used by the runtime to cast on delivery to handlers without type knowledge.

Derived classes

template<typename MsgT>
struct vt::group::GroupMsg
struct vt::collective::barrier::BarrierMsg
struct vt::collective::scatter::ScatterMsg
struct vt::EventCheckFinishedMsg
struct vt::EventFinishedMsg
struct vt::group::global::GroupSyncMsg
template<typename EntityID>
struct vt::location::LocationMsg
struct vt::messaging::CollectionChainSet::IdxMsg
Message that contains an index sent to remove or add remotely.
struct MultiMsg
template<typename Tuple>
struct ParamMsg<Tuple, std::enable_if_t<is_byte_copyable_t<Tuple>::value>>
template<typename Tuple>
struct ParamMsg<Tuple, std::enable_if_t<not is_byte_copyable_t<Tuple>::value>>
struct vt::pipe::CallbackMsg
struct vt::rdma::ChannelMessage
struct vt::rdma::CreateChannel
struct vt::rdma::GetInfoChannel
template<typename ProxyT, typename IndexT>
struct vt::rdma::impl::InformRDMAMsg
template<typename EnvelopeT>
struct vt::rdma::RDMAOpFinishedMessage
template<typename EnvelopeT>
struct vt::rdma::RequestDataMessage
template<typename EnvelopeT>
struct vt::rdma::SendDataMessage
template<typename StateT>
struct vt::rdma::StateMessage
struct vt::term::BuildGraphMsg
struct vt::term::ds::AckMsg
struct vt::term::HangCheckMsg
struct vt::term::TermAction::ActionMsg
struct vt::term::TermCounterMsg
struct vt::term::TermMsg
struct vt::term::TermTerminatedMsg
struct vt::term::TermTerminatedReplyMsg
struct vt::trace::UserEventRegistry::NewUserEventMsg
struct vt::utils::file_spec::FileSpec::SpecMsg
Holds the spec for broadcasting to all nodes.
struct vt::vrt::collection::balance::LBDataRestartReader::ArriveMsg
struct vt::vrt::collection::balance::LBDataRestartReader::DepartMsg
struct vt::vrt::collection::balance::LBDataRestartReader::UpdateMsg
struct vt::vrt::collection::balance::LoadMsg
struct vt::vrt::collection::balance::ReassignmentMsg
template<typename ColT, typename IndexT>
struct vt::vrt::collection::DestroyMsg final
template<typename ColT, typename MsgT>
struct vt::vrt::collection::InsertMsg
struct vt::vrt::collection::InsertNullMsg
struct vt::vrt::collection::lb::CommMsg
struct vt::vrt::collection::lb::GreedyBcastMsg
struct vt::vrt::collection::lb::GreedySendMsg
struct vt::vrt::collection::lb::LBTreeDownMsg
struct vt::vrt::collection::lb::LBTreeUpMsg
struct vt::vrt::collection::lb::RotateObjMsg
struct vt::vrt::collection::lb::TemperedLB::LockedInfoMsg
The update message that comes from a rank when it is locked. This is a message instead of a normal handler so it can be buffered without copying it.
template<typename Transfer>
struct vt::vrt::collection::lb::TransferMsg
template<typename ColT, typename IndexT>
struct vt::vrt::collection::MigrateMsg final
template<typename ColT>
struct vt::vrt::collection::param::ConstructParamMsg
Construct PO configuration message for distributed construction.
struct vt::vrt::VirtualProxyRequestMsg
template<typename RemoteInfo, typename ArgsTuple, typename VirtualContextT>
struct vt::vrt::VrtConstructMsg

Public types

using EnvelopeType = EnvelopeT
using MessageParentType = BaseMsg

Public static functions

static auto operator new(std::size_t sz) -> void*
Overload of the new operator to use the memory pool to construct a new message.
static auto operator new(std::size_t sz, std::size_t oversize) -> void*
Overload of the new operator to use the memory pool to construct a new message with some extra memory after the message for a put payload.
static void operator delete(void* ptr)
Overload of delete to use the memory pool to de-allocate a message.
static auto operator new(std::size_t, void* mem) -> void*
Overload of the new operator for in-place allocations.

Constructors, destructors, conversion operators

ActiveMsg()
Construct an empty message; initializes the envelope state.
vt_msg_serialize_mode_(support)

Public functions

template<typename SerializerT>
void serialize(SerializerT& s)
Explicitly serialize this message.

Public variables

EnvelopeType env

Function documentation

template<typename EnvelopeT>
static void* vt::messaging::ActiveMsg<EnvelopeT>::operator new(std::size_t sz)

Overload of the new operator to use the memory pool to construct a new message.

Parameters
sz in the size to allocate
Returns a pointer to the allocated memory

template<typename EnvelopeT>
static void* vt::messaging::ActiveMsg<EnvelopeT>::operator new(std::size_t sz, std::size_t oversize)

Overload of the new operator to use the memory pool to construct a new message with some extra memory after the message for a put payload.

Parameters
sz in the message size to allocate
oversize in the extra size to allocate
Returns a pointer to the allocated memory

template<typename EnvelopeT>
static void vt::messaging::ActiveMsg<EnvelopeT>::operator delete(void* ptr)

Overload of delete to use the memory pool to de-allocate a message.

Parameters
ptr in the pointer to deallocate

template<typename EnvelopeT>
static void* vt::messaging::ActiveMsg<EnvelopeT>::operator new(std::size_t, void* mem)

Overload of the new operator for in-place allocations.

Parameters
mem in the memory to in-place allocation
Returns the pointer

template<typename EnvelopeT> template<typename SerializerT>
void vt::messaging::ActiveMsg<EnvelopeT>::serialize(SerializerT& s)

Explicitly serialize this message.

Parameters
in the serializer

Should be called froms derived type that support/require serialization.