1
0
Fork 0
mirror of https://github.com/openstf/stf synced 2025-10-05 19:42:01 +02:00
OpenSTF/lib/wire/wire.proto

113 lines
1.8 KiB
Protocol Buffer

// Message wrapper
enum MessageType {
DEVICE_POKE = 1;
DEVICE_STATUS = 2;
DEVICE_TYPE = 3;
DEVICE_PROPERTIES = 4;
GROUP = 5;
JOIN_GROUP = 6;
LEAVE_GROUP = 7;
PROBE = 8;
SHELL_COMMAND = 9;
DEVICE_DATA = 10;
DEVICE_DONE = 11;
DEVICE_FAIL = 12;
}
message Envelope {
required MessageType type = 1;
required bytes message = 2;
}
// Introductions
message DevicePokeMessage {
required string serial = 1;
required string channel = 2;
}
message ProbeMessage {
}
enum DeviceStatus {
ABSENT = 1;
OFFLINE = 2;
UNAUTHORIZED = 3;
ONLINE = 4;
}
message DeviceStatusMessage {
required string serial = 1;
required DeviceStatus status = 2;
}
enum DeviceType {
PHYSICAL = 1;
VIRTUAL = 2;
}
message DeviceTypeMessage {
required string serial = 1;
required DeviceType type = 2;
}
message DeviceProperty {
required string name = 1;
required string value = 2;
}
message DevicePropertiesMessage {
required string serial = 1;
repeated DeviceProperty properties = 2;
}
// Grouping
enum RequirementType {
SEMVER = 1;
GLOB = 2;
EXACT = 3;
}
message DeviceRequirement {
required string name = 1;
required string value = 2;
required RequirementType type = 3;
}
message GroupMessage {
required string group = 1;
required uint32 timeout = 2;
repeated DeviceRequirement requirements = 3;
}
message JoinGroupMessage {
required string serial = 1;
}
message LeaveGroupMessage {
required string serial = 1;
}
// Commands
message ShellCommandMessage {
required string channel = 1;
repeated string command = 2;
}
message DeviceDataMessage {
required string serial = 1;
required uint32 seq = 2;
required bytes data = 3;
}
message DeviceDoneMessage {
required string serial = 1;
}
message DeviceFailMessage {
required string serial = 1;
required string reason = 2;
}