|
◆ Obey() [2/6]
virtual DcppHandlerRet DcppTask::Obey |
( |
const char *const |
name, |
|
|
const DcppShared & |
SharedMem, |
|
|
const bool |
sds, |
|
|
const int |
NotifyBytes, |
|
|
StatusType *const |
status, |
|
|
const DcppHandlerRoutine |
SuccessHandler, |
|
|
const DcppHandlerRoutine |
ErrorHandler, |
|
|
const DcppBulkTransRoutine |
BulkTransHandler, |
|
|
const DcppHandlerRoutine |
BulkDoneHandler, |
|
|
const DcppHandlerRoutine |
TriggerHandler, |
|
|
const DcppVoidPnt |
ClientData, |
|
|
const DcppHandlerRoutine |
ErsHandler, |
|
|
const DcppHandlerRoutine |
MsgHandler, |
|
|
SdsId *const |
tidArg |
|
) |
| |
|
inlinevirtualinherited |
Send a DRAMA Obey bulk data message to the task.
This method is used for sending an OBEY message with a bulk data argument to the task referred to by this object. We must already have path to the task. This version returns the transaction id in a SDS structure set up ready for sending with a Kick message. (It is set up by DcppSpawnKickArg()).
If this function returns DcppReschedule, then messages are expected and should be dispatched using DcppDispatch() when they arrive. This will ensure that future processing occurs correctly and the the appropriate handler is invoked when the operation completes.
- Returns
- DcppReschedule if a message was started. Otherwise DcppFinished and status will be set bad.
- Parameters
-
name | The name of the action to obey. |
SharedMem | Shared memory details. |
sds | Set true if sending an SDS structure in the bulk data. |
NotifyBytes | The bulk data update notification rate in bytes. |
status | Inherited Status |
SuccessHandler | DcppDispatch() will invoke this if the operation completes successfully.
This function should return DcppReschedule if it sends another message.
Otherwise it should return DcppFinished.
The value returned will be returned by DcppDispatch(). If not specified, DcppDispatch() just returns DcppFinished. |
ErrorHandler | DcppDispatch() will invoke this if the operation fails after a message has been sent. This function should return DcppReschedule if it sends another message.
Otherwise it should return DcppFinished.
The value returned will be returned by DcppDispatch(). If not specified, DcppDispatch() just returns DcppFinished. |
BulkTransHandler | DcppDispatch() will invoke this if a message indicating a bulk data transfer update is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected. |
BulkDoneHandler | DcppDispatch() will invoke this if a message indicating a bulk data transfer complete is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected. |
TriggerHandler | DcppDispatch() will invoke this if a trigger message is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected. |
ClientData | Passed directly to the handler functions. |
ErsHandler | DcppDispatch() will invoke this if a Ers message is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected. This would normally only happen if the message was sent in UFACE context DitsInterested() was used to indicate an interest in ERS messages. |
MsgHandler | DcppDispatch() will invoke this if a MsgOut() message is received. If not specified, DcppDispatch just returns DcppReschedule, which is what your handler would normally return, since more messages are expected. This would normally only happen if the message was sent in UFACE context DitsInterested() was used to indicate an interest in MsgOut() messages. |
tidArg | Return the DRAMA transaction id of the started transaction in a form ready for use in a Kick message argument. This is usefull when we might want to kick a spawnable action. |
References DcppSpawnKickArg().
|