+ xbt_dynar_foreach(pd->msg_waitqueue,cpt,msg){
+ if ( ( !msgt_want || (msg.type->code == msgt_want->code))
+ && (!expe_want || (!strcmp( gras_socket_peer_name(msg.expe),
+ gras_socket_peer_name(expe_want))))
+ && (!filter || filter(&msg,filter_ctx))) {
+
+ memcpy(msg_got,&msg,sizeof(s_gras_msg_t));
+ xbt_dynar_cursor_rm(pd->msg_waitqueue, &cpt);
+ VERB0("The waited message was queued");
+ return;
+ }
+ }
+