/ROP

Resource Operating Protocol

Primary LanguageC++MIT LicenseMIT

ROP

ROP, or Resource Operating Protocol, is a request-response (i.e. half-duplex) protocol on top of TCP, used for client/server interactions.

Each request contains the following parts:

  • Header
    • Length of Operation (16-bit integer)
    • Length of Resource (16-bit integer)
    • Length of Detail (32-bit integer)
  • Operation (length < 64KB)
  • Resource (length < 64KB)
  • Detail (length < 4GB)

Each response contains the following parts:

  • Header
    • Error code (32-bit integer)
    • Length of Result (32-bit integer)
  • Result (length < 4GB)

Each session corresponds to a conversation between a client and the server, and the server may maintain states for each session.