MonAPI::Messageのエミュレート残る課題

send/receiveをエミュレートできているから完璧だと思いきやpeekを利用した、receiveがうまくエミュレートできない。

int Message::receive(MessageInfo* dst, MessageInfo* src, bool(*equals)(MessageInfo* msg1, MessageInfo* msg2))

↑こんなやつ。

Linuxで使用可能な、受信msgrcvはメッセージタイプを指定しないと受信できない気がする。

ssize_t msgrcv(int msqid, struct msgbuf *msgp, size_t msgsz, long msgtyp, int msgflg);

つまり、peekには向いているんだけど、キューに入っているメッセージをタイプを指定せず取り出すのができなさそう。
こまったなぁ。。。


とおもったらメッセージタイプに0を渡すとすべてのタイプにマッチする?との噂が。
試してみよう。