Jump to content
OpenSplice DDS Forum

Search the Community

Showing results for tags 'deadline'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • About OpenSplice DDS
    • News and Events
    • Site Feedback
  • Using OpenSplice DDS
    • General
    • Troubleshooting
  • Understanding OpenSplice DDS
    • OpenSplice DDS Slideshows
    • OpenSplice DDS Movies
  • Community
    • Project: SIMD
    • Project: CamelOS
    • Project: DDS Touchstone
    • Project: RESTful DDS
    • Mac OS X

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests


Company

Found 4 results

  1. I am having one issue when deadline is missed for 2 or more different instances at same time. Example: One application is subscriber to a Topic (Msg) Other 3 applications are publishing Topics each with different key values. Let key values be sourceID =1, sourceID=2, sourceID=3 The deadline at subscriber for Topic is set to 2 seconds, Suppose Topics from publishers now stopped at same time for Id=1 and Id=3 and then a deadline missed has been called at subscriber. When I use the last_instance_handle, I get the handle to latest handle to either Id=1 or Id=3 but not for both I have tested with the following code: void ListenerDataListener::on_requested_deadline_missed(DDS::DataReader_ptr reader, const DDS::RequestedDeadlineMissedStatus &status)THROW_ORB_EXCEPTIONS { printf("\n=== [ListenerDataListener::on_requested_deadline_missed] : triggered\n"); printf("\n=== [ListenerDataListener::on_requested_deadline_missed] : stopping\n"); m_guardCond->set_trigger_value(true); Msg m1; m_MsgReader->get_key_value(m1,status.last_instance_handle); qDebug()<<"Missed Key:"<<m1.sourceID; }
  2. I am interested in using the Deadling QOS on the Data Reader side to alert me when a specific topic instance violates the deadline contract. I have been able to get a listener working with a deadline qos, and am correctly alerted when a deadline is missed. However, I am unable to determine which instance violated the contract. Does OpenSplice have a method to do this? Or does anyone know a way around it?
  3. I am trying a simple setup where by I have connected to the same topic, a single DataWriter and a single DataReader triggered by a WaitSet. The Writer is just writing samples for a single data instance every x seconds and it has a compatible deadline qos set. The WaitSet is set to trigger on either a Read condition of new/fresh data, or a status condition of a missed deadline (the reader has a compatible deadline set on its qos). If the read condition triggers then I perform a read/take with the datareader, and if the status condition triggers then I just log a message or throw an exception (whatever you like, but I don't do any datareader operations). Everything starts fine, I start the waitset/reader and it just times (as expected) until I start the writer when it then starts reading the samples. Where the problem arises is if i stop and delete the writer. I expected the waitset to go back to timing out (with maybe one missed deadline status being raised) as it should know that the previous data instance no longer exists. Rather what is happening is that the waitset is constantly triggering (multiple times per millisecond) until i have to delete the waitset and reader. I don't know if this is the actual expected behaviour (I can't find any info to say it is or not), but it is not what I am after. Can anyone shed any light on this please? I would like to know if what I am after (the waitset missed deadline to stop triggering once the data instance is no longer being written by any writer - either if it is disposed or unregistered) is possible? I thought it might have been something to do with the fact (and please correct me if i'm wrong) that a reader doesn't release its resources for that instance (by deafult) after a writer unregisters the instance. The reader needs to either "take" all the samples or set the ReaderDataLifecycleQos autopurge delays to something other than "forever". I tried both of these approaches (always taking, and setting the autopurge_nowriter_samples_delay and autopurge_disposed_samples_delay to zero and 10ms durations) but with no success. This was with the writers autodispose_unregistered_instances set to true and deleting the writer (so that it implicitly unregisters and disposes of the data instance). It didn't seem to make any difference though. This is using Java btw. Thanks, Steve
  4. I am interested in using the Deadling QOS on the Data Reader side to alert me when a specific topic instance violates the deadline contract. I have been able to get a listener working with a deadline qos, and am correctly alerted when a deadline is missed. However, I am unable to determine which instance violated the contract. Does OpenSplice have a method to do this? Or does anyone know a way around it? Alternatively, is there a way to set the Data Writer to change the InstanceStateKind from ALIVE_INSTANCE_STATE to NOT_ALIVE_NO_WRITERS_INSTANCE_STATE when the Deadline contract is violated? I was hoping to use virtual void on_requested_deadline_missed(DDS::DataReader_ptr reader, const DDS::RequestedDeadlineMissedStatus &status); in order to change the value of that field, but am not sure how to do so if I do not receive a handle to the specific instance.
×