receiveOnly

Receives only messages with arguments of types T.

receiveOnlyRet!(T)
receiveOnly
(
T...
)

Return Value

Type: receiveOnlyRet!(T)

The received message. If T.length is greater than one, the message will be packed into a std.typecons.Tuple.

Throws

MessageMismatch if a message of types other than T is received.

Examples

auto tid = spawn(
(Tid self) {
    assert(self.receiveOnly!int == 42);
});
send(tid, 42);
auto tid = spawn(
(Tid self) {
    assert(self.receiveOnly!string == "text");
});
send(tid, "text");
struct Record { string name; int age; }

auto tid = spawn(
(Tid self) {
    auto msg = self.receiveOnly!(double, Record);
    assert(msg[0] == 0.5);
    assert(msg[1].name == "Alice");
    assert(msg[1].age == 31);
});

send(tid, 0.5, Record("Alice", 31));

Meta