namespace simgrid {
namespace s4u {
+class Comm;
class Host;
class Mailbox;
*
*/
class Actor {
+ friend Comm;
public:
Actor(const char*name, s4u::Host *host, int argc, char **argv);
Actor(const char*name, s4u::Host *host, int argc, char **argv, double killTime);
void execute(double flop);
/** Block the actor until it gets a message from the given mailbox */
- //void* recv(const char *mailbox);
-
- /** Block the actor until it gets a string message (to be freed after use) from the given mailbox */
- char *recvstr(Mailbox &chan);
+ void *recv(Mailbox &chan);
/** Block the actor until it delivers a string message (that will be copied) to the given mailbox */
void sendstr(Mailbox &chan, const char*msg);
+ /** Creates (but don't start) an async send action */
+ Comm &send_init(Mailbox &chan);
+
protected:
smx_process_t getInferior() {return p_smx_process;}
private: