Juvix imports
module arch.node.engines.reads_for_messages;
import prelude open;
import arch.node.types.identities open;
Reads For Messages¶
Message interface¶
MsgReadsForRequest RequestReadsFor
¶
type RequestReadsFor :=
mkRequestReadsFor@{
externalIdentityA : ExternalIdentity;
externalIdentityB : ExternalIdentity;
};
A request to query whether externalIdentityA
can read data encrypted to externalIdentityB
.
Arguments
externalIdentityA
:- The identity doing the reading.
externalIdentityB
:- The identity being read for.
MsgReadsForResponse ResponseReadsFor
¶
type ResponseReadsFor :=
mkResponseReadsFor@{
readsFor : Bool;
err : Option String;
};
Response indicating whether the reads_for relationship exists.
Arguments
readsFor
:- True if externalIdentityA can read for externalIdentityB, False otherwise.
err
:- An error message if the query failed.
MsgSubmitReadsForEvidenceRequest RequestSubmitReadsForEvidence
¶
type RequestSubmitReadsForEvidence :=
mkRequestSubmitReadsForEvidence@{evidence : ReadsForEvidence};
Request to submit evidence of a reads_for
relationship.
Arguments
evidence
:- The evidence supporting the
reads_for
relationship.
MsgSubmitReadsForEvidenceResponse ResponseSubmitReadsForEvidence
¶
type ResponseSubmitReadsForEvidence :=
mkResponseSubmitReadsForEvidence@{err : Option String};
Response acknowledging the submission of evidence.
Arguments
err
:- An error message if the submission failed.
MsgQueryReadsForEvidenceRequest RequestQueryReadsForEvidence
¶
type RequestQueryReadsForEvidence :=
mkRequestQueryReadsForEvidence@{externalIdentity : ExternalIdentity};
Request to query all reads_for evidence related to an identity.
Arguments
externalIdentity
:- The identity for which to retrieve evidence.
MsgQueryReadsForEvidenceResponse ResponseQueryReadsForEvidence
¶
type ResponseQueryReadsForEvidence :=
mkResponseQueryReadsForEvidence@{
externalIdentity : ExternalIdentity;
evidence : Set ReadsForEvidence;
err : Option String;
};
Response providing the requested evidence.
Arguments
externalIdentity
:- The identity for which evidence was requested.
evidence
:- A set of ReadsForEvidence related to the identity.
err
:- An error message if the query failed.
ReadsForMsg
¶
type ReadsForMsg :=
| MsgReadsForRequest RequestReadsFor
| MsgReadsForResponse ResponseReadsFor
| MsgSubmitReadsForEvidenceRequest RequestSubmitReadsForEvidence
| MsgSubmitReadsForEvidenceResponse ResponseSubmitReadsForEvidence
| MsgQueryReadsForEvidenceRequest RequestQueryReadsForEvidence
| MsgQueryReadsForEvidenceResponse ResponseQueryReadsForEvidence;
Message Sequence Diagrams¶
Submitting Reads For Evidence¶
Querying Reads For Relationship¶
Querying Reads For Evidence¶
Engine Components¶
- Reads For Environment
- Reads For Behaviour