floof/asn1/FloofProtocol.asn1

79 lines
1.5 KiB
Groff

FloofProtocol { 2 25 187636631533261907981725980838781846034 }
DEFINITIONS EXPLICIT TAGS ::= BEGIN
ActId ::= OCTET STRING (SIZE(16..1024))
Signature ::= SEQUENCE {
algorithm OBJECT IDENTIFIER,
value OCTET STRING
}
Severity ::= ENUMERATED {
emergency (0),
alert (1),
critical (2),
error (3),
warning (4),
notice (5),
info (6),
debug (7),
trace (8)
}
RelativeDistinguishedName ::= SEQUENCE {
type OBJECT IDENTIFIER,
value ANY
}
RDNSequence ::= SEQUENCE OF RelativeDistinguishedName
XferInner ::= SEQUENCE {
id ActId,
-- message topic --
topic RDNSequence,
-- message attributes --
attrs SET OF RelativeDistinguishedName,
-- message severity --
severity Severity,
data OCTET STRING
}
XferBlob ::= SEQUENCE {
-- source system name --
source RDNSequence,
-- message priority (when severity is equal)
-- used for queue priority augmention and can be modified in-transit
priority INTEGER (0..65536),
-- message time-to-live eol timestamp in seconds since epoch
ttl INTEGER (0..MAX),
-- message markers (e.g. review data and such)
markers SET OF RelativeDistinguishedName,
-- signature of *data*
signature Signature,
data OCTET STRING
}
SummaryDirection ::= ENUMERATED {
pull (0),
rejectpush (1),
requestpull (2)
}
Summary ::= SEQUENCE {
direction SummaryDirection,
id ActId
}
ProtoMessage ::= CHOICE {
summary [0] Summary,
xfer [1] XferBlob
}
END