Skip to content
Snippets Groups Projects
felinet.proto 786 B
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 Packet) returns (PushPacketResponse);
    rpc GetPackets(PacketFilter) returns (stream Packet);
}

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;
}

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

message Packet {
    bytes raw = 1;
}

message PacketFilter {
    oneof filter {
        uint32 all = 1;
        DistanceFilter dist = 2;
        CallsignFilter dest = 3;
    }
}

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

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