Method: ROS::TCPROS::ServiceClient#call

Defined in:
lib/ros/tcpros/service_client.rb

#call(srv_request, srv_response) ⇒ Boolean

call the service by sending srv request message, and receive response message.

Parameters:

  • srv_request (Message)

    call with this request

  • srv_response (Message)

    response is stored in this message

Returns:

  • (Boolean)

    result of call



59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/ros/tcpros/service_client.rb', line 59

def call(srv_request, srv_response)
  write_header(@socket, build_header)
  if check_header(read_header(@socket))
  write_msg(@socket, srv_request)
  @socket.flush
  ok_byte = read_ok_byte
  if ok_byte == 1
    srv_response.deserialize(read_all(@socket))
    return true
  end
  false
  end
  false
end