directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: [MINA] and readiness selection
Date Wed, 20 Jul 2005 06:54:47 GMT
On Wednesday 20 July 2005 02:34, Bharath Sundararaman wrote:
> Scenario 2
> I have an application that does asynchronous reads and writes to devices
> (e.g. PLC) via ethernet/ip. 

> So, communication with the device happens using a SelectableChannel (tied
> to the device's IP address) which registers with a selector for read/write
> interest and when data has to be read from a device, a read event is pushed
> onto a queue, selector is woken up and read happens. There could be many
> reads happening at the same time or alternate reads and writes in a totally
> ad-hoc fashion. Is MINA a good choice for this scenario where you send and
> receive bytes of data to devices?

I don't think this is any more unique to MINA than for normal sockets. You 
would always need to provide the scheduler of request/response pairs, and the 
algorithm of how much concurrency can occur over the same port, which is 
probably defined by the devices. My guess is that most PLCs will only allow 
one request for connection, which also makes the scheduler on the "client" 
simpler.

For real high perfomance communication subsystems to PLCs, it is likely that 
you will need a 3 stage SEDA architecture, where the you have an Encode, 
Communicate and Decode stage independently chewing away at their respective 
parts. And in that fashion, it seems to me MINA fits the bill well.


If PLCs are "your daily bread", then I would like to advertise a just started 
project of OpenHMI.org, which will look into developing the HMI side of the 
equation. This effort is not yet started, mainly awaiting the holiday seasons 
in Sweden to finish.

Cheers
Niclas

Mime
View raw message