Skip to content
Snippets Groups Projects
felinet.proto 1.09 KiB
Newer Older
Stephen D's avatar
Stephen D committed
syntax = "proto3";
package felinet;

service Handler {
Stephen D's avatar
Stephen D committed
    rpc Login(LoginRequest) returns (LoginResponse);
Stephen D's avatar
Stephen D committed
    rpc PushPackets(stream PacketIn) returns (PushPacketResponse);
Stephen D's avatar
Stephen D committed
    rpc GetPackets(PacketRequest) returns (stream PacketOut);
    rpc Ping(PingRequest) returns (PingResponse);
Stephen D's avatar
Stephen D committed
message LoginRequest {
    string username = 1;
    string password = 2;
}

message LoginResponse {
    bool success = 1;
    uint32 error = 2;
    string msg = 3;
    bytes uuid = 4;
Stephen D's avatar
Stephen D committed
message PacketIn {
Stephen D's avatar
Stephen D committed
    bytes raw = 1;
    bytes uuid = 2;
Stephen D's avatar
Stephen D committed
message PushPacketResponse {}

message PacketRequest {
    repeated PacketFilter filters = 1;
    bytes uuid = 2;
}

Stephen D's avatar
Stephen D committed
message PacketOut {
Stephen D's avatar
Stephen D committed
    bytes raw = 1;
}

message PingRequest {
    bytes uuid = 1;
Stephen D's avatar
Stephen D committed
}

Stephen D's avatar
Stephen D committed
message PingResponse {}

Stephen D's avatar
Stephen D committed
message PacketFilter {
    oneof filter {
        uint32 all = 1;
        DistanceFilter dist = 2;
        CallsignFilter dest = 3;
        uint32 heard_seconds = 4;
Stephen D's avatar
Stephen D committed
    }
}

message DistanceFilter {
    float latitude = 1;
    float longitude = 2;
    float distance = 3;
}

message CallsignFilter {
    string callsign = 1;
    uint32 ssid = 2;
}