module forb {
+ typedef long long object_key;
// Inter-ORB protocol
module iop {
- typedef long long object_key;
- enum message_type {
- REQUEST,
- REPLY
- };
+ typedef octet message_type;
+
+ const message_type REQUEST = 0;
+ const message_type REPLY = 1;
struct version {
octet major, minor;
const message_flags LITTLE_ENDIAN = 1;
struct message_header {
- version proto_version;
- octet message_type;
+ version proto_version;
+ message_type message_type;
message_flags flags;
unsigned long message_size;
};
+ const long MESSAGE_HEADER_SIZE = 8;
+
struct request_header {
+ unsigned long request_id;
+ string iface;
object_key objkey;
short method_index;
};
+ const long REQUEST_HEADER_SIZE = 8;
+
typedef short reply_flags;
const reply_flags FLAG_EX = 1;
struct reply_header {
unsigned short flags;
};
+ const long REPLY_HEADER_SIZE = 8;
};
__declspec(pidl) interface orb {