+ if (!ulong_type) {
+ ulong_type = gras_datadesc_by_name("unsigned long int");
+ xbt_assert(ulong_type);
+ }
+
+ DEBUG3("send '%s' to %s:%d", msgtype->name,
+ gras_socket_peer_name(sock), gras_socket_peer_port(sock));
+ gras_trp_send(sock, _GRAS_header, 6, 1 /* stable */ );
+ gras_trp_send(sock, &c_kind, 1, 1 /* stable */ );
+ switch (kind) {
+ case e_gras_msg_kind_oneway:
+ break;
+
+ case e_gras_msg_kind_rpccall:
+ case e_gras_msg_kind_rpcanswer:
+ case e_gras_msg_kind_rpcerror:
+ gras_datadesc_send(sock, ulong_type, &ID);
+ break;
+
+ default:
+ THROW1(unknown_error, 0, "Unknown msg kind %d", kind);
+ }