Skip to main content

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