Product: OpenFusion Notification Service
Version: ALL
Description:
How to add QoS properties into an event?
Resolution:
Properties can be added into an event in two places, variable header part of the header or the filterable data in the body of the event.
The following example creates a structured event with the following components:
- QoS settings priority (short) and timeout (unsigned long) in the variable header
- filterable properties packets (long) and username (string) in the filterable body
- domain name Telecom (string)
- type name Info (string)
- some data (long)
StructuredEvent event = new StructuredEvent ();
Property qos[] = new Property [2];
qos[0] = new Property ();
qos[0].name = Priority.value;
qos[0].value = orb.create_any ();
qos[0].value.insert_short ((short) 4);
qos[1] = new Property ();
qos[1].name = Timeout.value;
qos[1].value = orb.create_any ();
qos[1].value.insert_ulonglong ((long) 4*10*1000*1000); // 4 seconds
Property filterable[] = new Property [2];
filterable[0] = new Property ();
filterable[0].name = "packets";
filterable[0].value = orb.create_any ();
filterable[0].value.insert_long (2000);
filterable[1] = new Property ();
filterable[1].name = "username";
filterable[1].value = orb.create_any ();
filterable[1].value.insert_string (?client 1?);
EventType type = new EventType ("Telecom", "Info");
FixedEventHeader fixed = new FixedEventHeader (type, ?event?);
org.omg.CORBA.Any data = orb.create_any ();
data.insert_long (42);
event.header = new EventHeader (fixed, qos);
event.filterable_data = filterable;
event.remainder_of_body = data;
#OpenFusion
#KnowledgeDocs