
  TYPE
    iot$formatted_server_response = record
      request_id: rmt$rbt_request_id,
      case request_processed: boolean of
      = TRUE =
        case processed_request: rmt$rbt_request_type of
        = rmc$rbt_query =
          query: rmt$rbt_query_response,
        = rmc$rbt_mount =
          mount: rmt$rbt_mount_response,
        = rmc$rbt_dismount =
          dismount: rmt$rbt_dismount_response,
        = rmc$rbt_force_dismount =
          force_dismount: rmt$rbt_force_dismount_response,
        casend
      = FALSE = {retry request}
        server_event_code: ost$non_negative_integers,
        current_request: rmt$rbt_request_type,
        retry_delay_interval: ost$non_negative_integers,
        retry_limit: ost$positive_integers,
        server_messages: ^iot$robotic_server_messages,
        next_request {after limit exceeded} : rmt$rbt_request_type,
      casend,
    recend;

*copyc osd$integer_limits
*copyc iot$robotic_server_messages
*copyc rmt$rbt_dismount_response
*copyc rmt$rbt_force_dismount_response
*copyc rmt$rbt_mount_response
*copyc rmt$rbt_query_response
*copyc rmt$rbt_request_id
*copyc rmt$rbt_request_type
