syntax = "proto3"; package navka; // smaller, fixed-size payloads ⇒ less allocation and simpler decoding message KeyboardReport { bytes data = 1; } // exactly 8 bytes message MouseReport { bytes data = 1; } // exactly 4 bytes service Relay { rpc StreamKeyboard (stream KeyboardReport) returns (stream KeyboardReport); rpc StreamMouse (stream MouseReport) returns (stream MouseReport); }