Jump to content
OpenSplice DDS Forum
Sign in to follow this  
getviswa

Subscriber QoS Policy

Recommended Posts

Hello All,

 

Please help me configure QoS to implement the following,

 

I am having one publisher and many subscribers, from the subscriber side i want to receive the same content only one time.

 

That is,

 

publisher publishing content1,content2

 

Subscriber receiving content1,content2 and it will end.

 

Again publisher publishing content3

 

Normally subscriber again starts receiving from content1,content2,content3

 

I want to configure subscriber who are all receiving the contents they should not be receiving the same content next time,

 

that is from above example, the subscriber should be receive content3 alone in second run.

 

How to configure the QoS to achieve this ??

 

Thanks

-Viswa

Share this post


Link to post
Share on other sites

Hi Viswa,

 

What you want is the default-behavior w.r.t. durability i.e. 'volatile' so you don't need to configure anything special.

 

The case you're describing where a restarted subscriber would get the 'old' content1/content2 again ONLY applies to non-volatile data (i.e. transient_local, transient or persistent durability QoS).

 

-Hans

Share this post


Link to post
Share on other sites

Hi Hans,

 

Thanks for the reply,

 

I have configured the transient_local to achive the same but not working, following is my QoS sample code.

 

Topic QoS

 


  	 topicQos.value.reliability.kind = ReliabilityQosPolicyKind.RELIABLE_RELIABILITY_QOS;
	topicQos.value.durability.kind = DurabilityQosPolicyKind.TRANSIENT_LOCAL_DURABILITY_QOS;
	topicQos.value.destination_order.kind=DestinationOrderQosPolicyKind.BY_SOURCE_TIMESTAMP_DESTINATIONORDER_QOS;
	status = participant.set_default_topic_qos(topicQos.value);
  	 topic = participant.create_topic(topicName, typeName, topicQos.value,null, ANY_STATUS.value);

 

Publisher and Subscriber i left it default QoS.

 

 

Data Writer QoS

 

 

		
    publisher.copy_from_topic_qos(wQoS, topicQos.value);
    wQoS.value.writer_data_lifecycle.autodispose_unregistered_instances = false;
  	 writer = publisher.create_datawriter(topic, wQoS.value, null,ANY_STATUS.value);

 

Data Reader QoS

 


	subscriber.get_default_datareader_qos(rQoS);
	subscriber.copy_from_topic_qos(rQoS, topicQos.value);
	reader = subscriber.create_datareader(topic, rQoS.value, null, ANY_STATUS.value);

 

Please suggest me to achive the scenario.

 

 

Thanks

-Viswa

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×