Tasks #1035

Implement error handling subsystem

Added by J. Moringen about 9 years ago. Updated almost 4 years ago.

Status:NewStart date:06/25/2012
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:C++
Target version:rsb-0.18

Description

According to ErrorHandling.


Related issues

Related to Robotics Service Bus - Bug #1153: unknown data types cause crash when received Rejected 08/29/2012
Related to Robotics Service Bus - Tasks #1768: Evaluate Boost.Exception for dealing with re-thrown excep... New 02/14/2014
Blocks Robotics Service Bus - Bug #344: C++ Spread: Transport-level errors are not handled properly New 06/05/2011

Associated revisions

Revision 3814e06a
Added by J. Wienke almost 7 years ago

Terminate processing in case of receive error

Prevent 100% CPU load loops in ReceiverTask by stopping the task at the
first spread error. We do not recover at all.

This is more or less just a temporary workaround for a still missing
real solution for task #344 and #1035

refs #344
refs #1035

Reviewed-by: Jan Moringen <>

Revision ed871fb2
Added by J. Wienke almost 7 years ago

Use ErrorStrategy to handle receive errors

Use the new setErrorStrategy method in the InPushConnector interface to
obtain a user-specified wish on what to do in case of a receiver error.

refs #344
refs #1035

Reviewed-by: Jan Moringen <>

Revision 7bd5b422
Added by J. Wienke almost 7 years ago

Add setErrorStrategy on InPushConnectors and call it

As a temporary solution for asynchronous receiving errors, use the
ParticipantConfig::ErrorStrategy. This can be specified by the user via
the configuration.

refs #344
refs #1035

Reviewed-by: Jan Moringen <>

Revision 7532dd0b
Added by J. Moringen over 3 years ago

Initial error handling in src/rsb/transport/spread/*Connector.{h,cpp}

refs #1035

  • src/rsb/transport/spread/InConnector.{h,cpp} (InConnector::handleError):
    new method;
  • src/rsb/transport/spread/InPushConnector.{h,cpp}
    (InPushConnector::Handler::handleError): new method; delegate to
    connector's handleError method
    (InPushConnector::setErrorStrategy): removed method; handled by base
    class
    (InPushConnector::handleIncomingNotification): call handleError in
    case of errors
  • src/rsb/transport/spread/InPullConnector.cpp (InPullConnector::raiseEvent):
    delegate errors to handleError
  • src/rsb/transport/spread/ReceiverTask.{h,cpp} (includes): removed
    unnecessary includes
    (ReceiverTask::errorStrategy): removed; no longer needed
    (ReceiverTask::ReceiverTask): do not initial errorStrategy member
    variable
    (ReceiverTask::setErrorStrategy): removed method; no longer needed
    (ReceiverTask::execute): delete error handling to handler's
    handleError method

History

#1 Updated by J. Moringen over 8 years ago

  • Target version changed from rsb-0.9 to rsb-0.10

#2 Updated by J. Moringen almost 8 years ago

  • Target version changed from rsb-0.10 to rsb-0.11

#3 Updated by S. Wrede almost 7 years ago

  • Target version changed from rsb-0.11 to rsb-0.12

#4 Updated by J. Wienke over 6 years ago

  • Target version changed from rsb-0.12 to rsb-0.13

#5 Updated by J. Moringen over 5 years ago

  • Target version changed from rsb-0.13 to rsb-0.14

#6 Updated by J. Moringen over 5 years ago

  • Target version changed from rsb-0.14 to rsb-0.15

#7 Updated by J. Moringen almost 5 years ago

  • Target version changed from rsb-0.15 to rsb-0.16

#8 Updated by J. Moringen over 4 years ago

  • Target version changed from rsb-0.16 to rsb-0.17

#9 Updated by J. Moringen almost 4 years ago

  • Target version changed from rsb-0.17 to rsb-0.18

Also available in: Atom PDF