extend ASN.1 schema for requesting load information

contributes to #71
This commit is contained in:
Trolli Schmittlauch 2020-09-18 01:01:40 +02:00
parent b48b7a7bba
commit ddea599022

View file

@ -6,7 +6,7 @@ Domain ::= VisibleString
Partnum ::= INTEGER (0..150) Partnum ::= INTEGER (0..150)
Action ::= ENUMERATED {queryID, join, leave, stabilise, ping} Action ::= ENUMERATED {queryID, join, leave, stabilise, ping, queryLoad}
Request ::= SEQUENCE { Request ::= SEQUENCE {
action Action, action Action,
@ -17,9 +17,10 @@ Request ::= SEQUENCE {
actionPayload CHOICE { actionPayload CHOICE {
queryIDRequestPayload QueryIDRequestPayload, queryIDRequestPayload QueryIDRequestPayload,
joinRequestPayload JoinRequestPayload, joinRequestPayload JoinRequestPayload,
leaveRequestPayload LeaveRequestPayload, leaveRequestPayload LeaveRequestPayload,
stabiliseRequestPayload StabiliseRequestPayload, stabiliseRequestPayload StabiliseRequestPayload,
pingRequestPayload PingRequestPayload pingRequestPayload PingRequestPayload,
loadRequestPayload LoadRequestPayload
} OPTIONAL -- just for symmetry reasons with response, requests without a payload have no meaning } OPTIONAL -- just for symmetry reasons with response, requests without a payload have no meaning
} }
@ -34,11 +35,12 @@ Response ::= SEQUENCE {
finalPart BOOLEAN, -- flag indicating this `part` to be the last of this response finalPart BOOLEAN, -- flag indicating this `part` to be the last of this response
action Action, action Action,
actionPayload CHOICE { actionPayload CHOICE {
queryIDResponsePayload QueryIDResponsePayload, queryIDResponsePayload QueryIDResponsePayload,
joinResponsePayload JoinResponsePayload, joinResponsePayload JoinResponsePayload,
leaveResponsePayload LeaveResponsePayload, leaveResponsePayload LeaveResponsePayload,
stabiliseResponsePayload StabiliseResponsePayload, stabiliseResponsePayload StabiliseResponsePayload,
pingResponsePayload PingResponsePayload pingResponsePayload PingResponsePayload,
loadResponsePayload LoadResponsePayload
} OPTIONAL -- no payload when just ACKing a previous request } OPTIONAL -- no payload when just ACKing a previous request
} }
@ -101,5 +103,14 @@ PingRequestPayload ::= NULL -- do not include a node/ vserver ID, so that
-- learning all active vserver IDs handled by the server at once -- learning all active vserver IDs handled by the server at once
PingResponsePayload ::= SEQUENCE OF NodeState PingResponsePayload ::= SEQUENCE OF NodeState
LoadRequestPayload ::= SEQUENCE {
lowerBound NodeID,
upperBound NodeID
}
LoadResponsePayload ::= SEQUENCE {
loadSum REAL,
remainingLoadTarget REAL
}
END END