Skip to content
Juvix imports

module arch.node.engines.template_messages;

import prelude open;

Template Messages

These are the messages that the Template engine can receive/respond to.

Message interface

Auxiliary Juvix code

syntax alias MethodOneArgOne := Nat;

syntax alias MethodOneArgTwo := Nat;

syntax alias MethodOneArgThree := Nat;

syntax alias MethodTwoArgOne := Nat;

MsgTemplateJustHi

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

MsgTemplateExampleRequest

Example request.

type ExampleRequest : Type :=
mkExampleRequest {
argOne : Nat;
argTwo : Nat
};
Arguments
argOne
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
argTwo
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

MsgTemplateExampleReply

Reply to an ExampleRequest.

ExampleReplyOk

Example OK reply.

type ExampleReplyOk : Type := mkExampleReplyOk {argOne : Nat};
Arguments
argOne
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ExampleReplyError

Example error reply.

type ExampleReplyError : Type :=
| ExampleErrorOne
| ExampleErrorTwo;
Error types
ExampleErrorOne
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
ExampleErrorTwo
Lorem ipsum dolor sit amet, consectetur adipiscing elit.

ExampleReply

ExampleReply : Type := Result ExampleReplyOk ExampleReplyError;

TemplateMsg

type TemplateMsg :=
| MsgTemplateJustHi
| MsgTemplateExampleRequest ExampleRequest
| MsgTemplateExampleReply ExampleReply;

Sequence Diagrams

ExampleRequest & ExampleReply

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed ut purus eget sapien. Nulla facilisi.

sequenceDiagram
    participant TemplateClient
    participant Template

    TemplateClient ->> Template: ExampleRequest
    Template ->> TemplateClient: ExampleReplyOk

    TemplateClient ->> Template: ExampleRequest
    Template ->> TemplateClient: ExampleReplyErrorOne
Sequence Diagram: ExampleRequest & ExampleReply