syntax = "proto3"; package Packets; message HandshakePacket { bytes publicKey = 1; bytes signature = 2; } message HandshakeResponsePacket { bytes publicKey = 1; bytes signature = 2; } message ListPacket { message Entry { uint32 index = 1; uint64 size = 2; string name = 3; } repeated Entry entries = 1; } message ProgressPacket { uint32 index = 1; uint32 progress = 2; } message ChunkPacket { uint32 sequence = 1; bytes chunk = 2; } message Packet { oneof value { HandshakePacket handshake = 1; HandshakeResponsePacket handshakeResponse = 2; ListPacket list = 3; ProgressPacket progress = 4; ChunkPacket chunk = 5; } }