Skip to content
Juvix imports

module tutorial.engines.template_minimum_messages;

import prelude open;

Template Minimum Messages

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

Message interface

TemplateMinimumMsgJustHi

Lorem ipsum dolor sit amet, consectetur adipiscing elit.

TemplateMinimumMsgExampleRequest 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.

TemplateMinimumMsgExampleReply 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 ExampleReplyError ExampleReplyOk;

TemplateMinimumMsg

type TemplateMinimumMsg :=
| TemplateMinimumMsgJustHi
| TemplateMinimumMsgExampleRequest ExampleRequest
| TemplateMinimumMsgExampleReply ExampleReply;

Sequence Diagrams

ExampleRequest & ExampleReply

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

sequenceDiagram
    participant TemplateMinimumClient
    participant TemplateMinimum

    TemplateMinimumClient ->> TemplateMinimum: ExampleRequest
    TemplateMinimum ->> TemplateMinimumClient: ExampleReplyOk

    TemplateMinimumClient ->> TemplateMinimum: ExampleRequest
    TemplateMinimum ->> TemplateMinimumClient: ExampleReplyErrorOne
Sequence Diagram: ExampleRequest & ExampleReply