Get desktop application:
View/edit binary Protocol Buffers messages
ViewPacket is one message of a session. Fields are only ever added, never renumbered, retyped or removed, and a release ignores the fields a later one adds.
caller is the Go type path of the view that opened the session. The responder is found by protocol when it is set and known, and by caller otherwise.
versions is an encoded preamble.ComponentVersions, set on each message of a session the initiator opened: the version of each component's formats the session uses, the same on every message. The responder's messages carry none. It is bytes, so that a receiver checks its size, at most 4 KiB like the preamble, before it decodes the list.
protocol is the stable name "<component>/<name>" of the protocol the session runs, set on each initiator message when the initiator view declares one.