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

◆ ObeyBulk() [1/2]

void drama::Path::ObeyBulk ( 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 an obey message to a task, with bulk data argument, and blocks the current thread until the action is complete.

Parameters
actionA pointer to the threaded action which is executing this operation.
nameName of the action to start.
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.
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 obey completion is copied into here.
If there is no argument to the reply, it will refer to a null SDS item.
eventProcessorAn object to use to process events. Defaults to a simple event processor that causes the method to return when the subsidiary action completes.

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

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