Proto commits in asynchronics/nexosim

These 25 commits are when the Protocol Buffers files have changed:

Commit:c30621e
Author:maciekglowka

refactor

Commit:37a6a87
Author:maciek.glowka

server init

Commit:9a34ef4
Author:maciekglowka

proto renaming

Commit:6815197
Author:maciek.glowka

server save

Commit:18c2549
Author:Jaŭhien Piatlicki

Rename gRPC call shutdown to terminate.

The documentation is generated from this commit.

Commit:02afc05
Author:Jaŭhien Piatlicki
Committer:Jaŭhien Piatlicki

Implement server shutdown.

Commit:0fb8bc0
Author:Jaŭhien Piatlicki
Committer:Jaŭhien Piatlicki

Blocking read in gRPC.

Commit:3a23d81
Author:Serge Barral

Add server support for halting the simulation

Commit:e526071
Author:Serge Barral

Unix socket server support + rename grpc -> server

Commit:1b08f10
Author:Jaŭhien Piatlicki
Committer:Jaŭhien Piatlicki

Add possibility to halt simulation

Commit:7a95a4d
Author:Serge Barral
Committer:Serge Barral

OVarious gRPC improvements This patch in particular allows asynchronous gRPC access to the scheduler and to the monitoring functions.

Commit:a87bf49
Author:Serge Barral
Committer:Serge Barral

Rename gRPC package as simulation.v1

Commit:d4192e8
Author:Serge Barral
Committer:Serge Barral

Report an error if a message cannot be delivered

Commit:b1a02bd
Author:Serge Barral

Detect lost messages Messages sent to a mailbox that wasn't added to the simulation are now specifically detected. Earlier this would be wrongly reported as a deadlock.

Commit:5ab898a
Author:Serge Barral

Rename crate to NeXosim

Commit:84ad02a
Author:Serge Barral
Committer:Serge Barral

Make the gRPC init more general Instead of producing a SimInit object, a bench is now expected to return a fully constructed simulation with its scheduler. This means that the client does not necessarily need to provide the starting time for the simulation. This start time may be hardcoded in the bench, or may be taken as a parameter for the bench configuration. This change make it possible for benches to do more, for instance to pre-schedule some events, or to do less, for instance by hardcoding the simulation time rather than accept an arbitrary simulation time.

Commit:ba1e668
Author:Serge Barral
Committer:Serge Barral

Report panics as errors + identify panicking model The build context is now passed as a mutable reference due to the need to mutate data when adding a model. Contains small unrelated cleanups and documentation improvements too.

Commit:49e7132
Author:Serge Barral
Committer:Serge Barral

Check clock sync with configurable tolerance

Commit:e690138
Author:Serge Barral
Committer:Serge Barral

Add support for simulation timeouts

Commit:1cfaa00
Author:Serge Barral

Make execution failible, impl deadlock detection TODO: return the list of models involved in a deadlock. Note that Many execution errors are not implemented at all at the moment and will need separate PRs, namely: - Terminated - ModelError - Panic

Commit:6b43fcf
Author:Serge Barral
Committer:Serge Barral

Simplify gRPC backend arch + remove wasm backend

Commit:1b0395f
Author:Serge Barral
Committer:Serge Barral

Accept an arbitrary argument for remote init

Commit:59d2af5
Author:Serge Barral
Committer:Serge Barral

Expose the Protobuf simulation service to WASM/JS

Commit:9b4f69c
Author:Serge Barral
Committer:Serge Barral

gRPC: small fix + minor changes

Commit:e84e802
Author:Serge Barral

Initial (g)RPC implementation