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 ExampleRequest

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 ExampleReply

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