From: Anh Vo <anhvofrcaus@gmail.com>
Subject: Re: Inter-process communication in Ada with Simple Components v 4.28
Date: Wed, 2 May 2018 15:52:55 -0700 (PDT)
Date: 2018-05-02T15:52:55-07:00 [thread overview]
Message-ID: <4ccf46d5-ceea-43fb-88af-cb7ab076b26e@googlegroups.com> (raw)
In-Reply-To: <pccq9l$nel$1@gioia.aioe.org>
On Wednesday, May 2, 2018 at 9:51:05 AM UTC-7, Dmitry A. Kazakov wrote:
> The latest version 4.28 of Simple Components introduces inter-process
> communication primitives. The implementation does not rely networking
> and is based on shared memory and OS primitives available. Both Linux
> and Windows are supported. No configuration is required, no source code
> generation is used either. The interface packages are OS-independent.
>
> The following synchronization and communication primitives are provided:
>
> - Manual set/reset event;
>
> - Pulse event;
>
> - Re-entrant mutex. A mutex that can be seized by the same task several
> times without blocking;
>
> - Shared object that can be accessed from different processes;
>
> - FIFO, first-in, first-out queue with the ends in different processes;
>
> - Blackboard for publishing updates in a way that do not block the
> publisher;
>
> - Inter-process stream with the end points in different processes;
>
> - Shared memory pool which can be allocated and freed from different
> processes. The pool supports references which can be converted forth and
> back access type. The pool reference can be exchanged between processes
> and stored in the shared memory;
>
> - Process call service, that provides remote procedure call facilities.
> Both synchronous and asynchronous remote calls are supported.
> Synchronous calls can return back results or update arguments.
> Exceptions propagated at the callee's side are reported back to the
> caller and re-raised at the call point.
>
> - Manager of the process call services that allow processes involving in
> RPC exchange to come and go dynamically.
>
> The configuration of primitives is based on introspection of the Ada
> type that describes the shared environment. The primitives are merely
> components of the shared environment object. The coherence of the shared
> environment is checked when the process joins other processes.
>
> The intended audience is Ada developers of servers, e.g. Gnoga users.
> Bug reports and feature requests are welcome.
>
> P.S. The Distributed Systems Annex E can be supported if there is
> demand, provided some help with configuring GNAT to respect the pragma
> Remote Call Interface and use the custom System.RPC.
Good work Dmitry. Thank you for sharing your work with others.
By the way, I had trouble to untar after downloading it. The output error are "tar: Archive value 197608 is out of uid_t range 0..65535"
Anh Vo
next prev parent reply other threads:[~2018-05-02 22:52 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-02 16:51 Inter-process communication in Ada with Simple Components v 4.28 Dmitry A. Kazakov
2018-05-02 22:52 ` Anh Vo [this message]
2018-05-03 7:29 ` Dmitry A. Kazakov
2018-05-03 16:00 ` Anh Vo
2018-05-03 16:25 ` Dmitry A. Kazakov
2018-05-03 22:41 ` Olivier Henley
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox