syntax = "proto3"; message RegistrationRequest{ string token = 1; string mac_address = 2; string name = 3; bool is_fast = 4; } message RegistrationResponse{ fixed32 virtual_ip = 1; fixed32 virtual_gateway = 2; fixed32 virtual_netmask = 3; uint32 epoch = 4; repeated DeviceInfo device_info_list = 5; fixed32 public_ip = 6; uint32 public_port = 7; } message DeviceInfo{ string name = 1; fixed32 virtual_ip = 2; uint32 device_status = 3; } message DeviceList{ uint32 epoch = 1; repeated DeviceInfo device_info_list = 2; } message Punch{ fixed32 virtual_ip = 1; repeated fixed32 public_ip_list = 2; uint32 public_port = 3; uint32 public_port_range = 4; NatType nat_type = 5; bool reply = 6; } enum NatType{ Symmetric = 0; Cone = 1; }