Skip to content

Add non-persistent ROS1 service clients to rosjava #22

Description

@SpyrosKou

Service clients are currently created using persistent TCPROS connections only. That differs from the usual ROS1 behavior in roscpp and rospy, where non-persistent service calls are the default and persistent connections are an opt-in optimization.

Drawbacks of persistent connectoins

  • persistent clients can become stale after server restarts or transport failures
  • cached long-lived connections can make recovery harder than it could be
  • the current behavior is less aligned with ROS1 behavior across client libraries
  • callers that only need request/response semantics still pay the complexity cost of connection lifecycle management

Scope
Add a non-persistent service caller API that opens a fresh service connection for each call and closes it after the response or terminal failure.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions