comp.lang.ada
 help / color / mirror / Atom feed
* YAMI4 1.6.0 released
@ 2012-09-10  7:54 Maciej Sobczak
  2012-09-10 11:08 ` john
  0 siblings, 1 reply; 3+ messages in thread
From: Maciej Sobczak @ 2012-09-10  7:54 UTC (permalink / raw)


YAMI4 is a messaging solution for distributed systems.

I am pleased to announce that the new version of YAMI4, 1.6.0, was just released:

http://inspirel.com/yami4/

The new features in this package include:

1. Message queue server, as yet another centralized YAMI4 service. The queue server can be an essential component in load-balancing and work-sharing distributed patterns.
Ada programmers will find it interesting that the queue server, as all other YAMI4 services, was implemented in Ada.

2. Bindings for Objective-C. These bindings were prepared with Mac OS X and iOS platforms in mind, but are also compatible with the GNUStep environment on Linux.


Regards,

-- 
Maciej Sobczak * http://www.inspirel.com



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: YAMI4 1.6.0 released
  2012-09-10  7:54 YAMI4 1.6.0 released Maciej Sobczak
@ 2012-09-10 11:08 ` john
  2012-09-10 21:14   ` Maciej Sobczak
  0 siblings, 1 reply; 3+ messages in thread
From: john @ 2012-09-10 11:08 UTC (permalink / raw)


That's very interesting, as I'm currently looking for a good basis for a larger project of mine. I have three questions:

1. Can it do NAT traversal?

2. Which underlying transport protocols are used, TCP, UDP, UDT, ...?

3. Does it handle timeouts gracefully, i.e. allow the user to specify timeout values for socket operations?

Best,

Erich



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: YAMI4 1.6.0 released
  2012-09-10 11:08 ` john
@ 2012-09-10 21:14   ` Maciej Sobczak
  0 siblings, 0 replies; 3+ messages in thread
From: Maciej Sobczak @ 2012-09-10 21:14 UTC (permalink / raw)


W dniu poniedziałek, 10 września 2012 13:08:32 UTC+2 użytkownik (Nieznane) napisał:
> That's very interesting, as I'm currently looking for a good basis for a larger project of mine. I have three questions:
> 
> 1. Can it do NAT traversal?

I'm not 100% sure what do you mean by this, but YAMI4 is "friendly" with regard to both NAT and firewalls in the sense described here:

http://www.inspirel.com/yami4/book/8-1.html

In other words, the communicating parties can reverse their client-server roles after the connection is established, so that the server can sit behind the firewall or NAT.

> 2. Which underlying transport protocols are used, TCP, UDP, UDT, ...?

TCP and UDP are both supported. In addition, Unix sockets can be used for communication between processes on Unix systems.

> 3. Does it handle timeouts gracefully, i.e. allow the user to specify timeout values for socket operations?

There is a configurable timeout for creating connections. In addition to this, individual messages can be "timed out" in a way that is much better integrated with the language, as logical messages are represented by protected objects. That is, an appropriate entry call allows to discover whether the message is in the given state and this can be performed in a standard select pattern. This means that not only timeouts are supported, but also more involved scenarios can be easily achieved that are completely impossible with other messaging/communication libraries. For example, you can send several independent messages to different servers and in a single select statement that gathers all of them wait for the one that is processed the fastest. This level of programming comfort has no equivalent with simple timeouts.

-- 
Maciej Sobczak * http://www.inspirel.com



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2012-09-10 21:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-09-10  7:54 YAMI4 1.6.0 released Maciej Sobczak
2012-09-10 11:08 ` john
2012-09-10 21:14   ` Maciej Sobczak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox