Skip to content
Juvix imports

module arch.node.engines.wall_clock_messages;

import prelude open;

Wall Clock Messages

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

Message interface

type WallClockMsg :=
| WallClockGetTime
| WallClockGetTimeResult TimeResult;

Message sequence diagrams


Wall Clock request and response

sequenceDiagram
    participant WallClockClient
    participant WallClock

    WallClockClient ->> WallClock: WallClockGetTime
    WallClock ->> WallClockClient: WallClockGetTimeResult
Sequence diagram: Wall Clock time request & response

Message types

Auxiliary Juvix code

syntax alias StorageKey := String;

syntax alias StorageValue := String;

syntax alias EpochTimestamp := Nat;


WallClockGetTime

A WallClockGetTime message tracks and manages time within the local computing environment. This message doesn't require any arguments.

TimeResult

Response to a WallClockGetTime request.

type TimeResult : Type :=
mkTimeResult@{
epochTime : EpochTimestamp;
};
Arguments
epochTime
The current time in epoch format (seconds/milliseconds since epoch)

WallClockMsg

type WallClockMsg :=
| WallClockGetTime
| WallClockGetTimeResult TimeResult;

Engine Components