AAO DRAMA/DRAMA2 C++ Interface
DRAMA C++11 and later interface

◆ KickBulk() [1/2]

void drama::Path::KickBulk ( thread::TMessHandler action,
const std::string &  name,
BulkData argIn,
bool  isSds,
unsigned  notifyBytes = 1024*1024,
sds::IdPtr *const  argOut = nullptr,
MessageEventHandler *const  eventProcessor = &_simpleEventProcessor 
)
inlineinherited

Sends a kick message, with bulk data argument, to a task and blocks the current thread until the reply is received.

Parameters
actionA pointer to the threaded action which is executing this operation.
nameName of the action to kick.
argInThe Bulk Data segment to be the argument to the obey message.
isSdsDoes arg contain an SDS item? If true, the target task can access the item as an argument using using SDS in the normal way If false, the shared memory contains data in an application private format and DRAMA makes no attempt to interpret it.
notifyBytesIf non-zero, it indicates your action should be notified (using EntryCode::BulkTransferred entries) every time the specified number of bytes are transferred. Note the this effect is somewhat dependent on the target task behavior and you may only receive the final EntryCode::BulkDone message.
eventProcessorAn object to use to process events. Defaults to a simple event processor that causes the method to return when the kick completes.
argOutThe reply message argument, if any. An address of and sds::IdPtr is supplied. If you supply a
null pointer, it is ignored. Otherwise, any argument to the kick completion is copied into here.
If there is no argument to the reply, it will refer to a null SDS item.

References drama::TransEvtInfo::complete, drama::CreateRunDramaTask(), DramaTHROW_S, and drama::TransEvtInfo::entryStatus.

Referenced by drama::Path::KickBulk().