- Glue - Platform-specific code to implement sockets
- Socket - Way for sending and receiving data between the two platforms
- Channel - An interface that allows information to be exchanged in units of messages using sockets.
- Guest - An interface that can send requests to hosts using channels.
- Host - An interface that allows you to process and respond to requests received from guests.
Whenever the channel sends a message, it writes the message size as a 4-byte little-endian integer to the socket, and then writes a message payload as that size.
The message payload is defined in the wrp-ts/wrp.proto file.