pcloudcc-lneely/doc/request-response.org

1.3 KiB

pCloudCC Request-Response Flow

pcloudcc is built upon a client-server architecture. When the user runs pcloudcc -u <username>, this starts the server. The server listens for request messages and sends back response messages.

When the user runs pcloudcc -k, this starts the client's command line interface. The client sends request messages to and expects a corresponding response message from the server.

The client and server send and receive messages over a Unix socket that gets created when the server is started.

  participant user
  participant control_tools <<client>>
  participant overlay_client <<client>>
  participant socket <<net>>
  participant poverlay <<server>>

  user -> control_tools: input command
  control_tools -> control_tools : parse command
  control_tools -> overlay_client : SendCall(msgType, reqData, ...)
  overlay_client -> socket : write_request
  socket -> poverlay : request
  poverlay -> poverlay : poverlay_handle_request
  poverlay -> poverlay : poverlay_get_response
  poverlay -> socket : response
  socket -> overlay_client : read_response
  overlay_client -> control_tools : (msg, msgsz, payload, payloadsz)
  control_tools -> user : print results

/lkn/pcloudcc-lneely/src/commit/79141898c3eb7d587d9f77c06d3d7a524fbba98a/doc/img/request-response-00.png