veilid/veilid-server/proto/veilid-client.capnp
2021-11-22 11:28:30 -05:00

47 lines
911 B
Cap'n Proto

@0xd29582d26b2fb073;
enum AttachmentState {
detached @0;
attaching @1;
attachedWeak @2;
attachedGood @3;
attachedStrong @4;
fullyAttached @5;
overAttached @6;
detaching @7;
}
struct VeilidState {
# union {
attachment @0 :AttachmentState;
# }
}
struct AttachmentStateChange {
oldState @0 :AttachmentState;
newState @1 :AttachmentState;
}
struct VeilidStateChange {
# union {
attachment @0 :AttachmentStateChange;
# }
}
interface Registration {}
interface VeilidServer {
register @0 (veilidClient: VeilidClient) -> (registration: Registration);
attach @1 () -> (result: Bool);
detach @2 () -> (result: Bool);
shutdown @3 () -> (result: Bool);
}
interface VeilidClient {
stateChanged @0 (changed: VeilidStateChange);
}