Skip to content
Prev 312996 / 398503 Next

AQ-R 0.2 // realtime messaging.

Hi there,

I am glad to announce AQ-R 0.2 has been successfully built and is 
available via install.packages("aqr", 
repos="http://R-Forge.R-project.org").


The most important new feature is real-time messaging from within R.

AQ-R 0.2 enables you to send and receive byte[] messages within R 
through a STOMP compliant messaging server, such as the ActiveQuant 
Master Server. There are various STOMP protocol compliant servers [1].

You can build arbitrarily complex messaging infrastructures, where 
messages flow between R instances or other-language messaging components.

The key functions are:
aqSubscribe(aChannel) - subscribe to messages in a channel
aqWaitForData() - a blocking call that waits for data to arrive
aqPoll() - fetches all messages from the internal buffer (not the STOMP 
server)
aqSend(channel, text) - send a message to a channel

This extension does buffer incoming data between consecutive aqPoll() 
calls.

The core loop for using this should look like:

while(aqWaitForData()){
     data = aqPoll()
}


Version 0.2 is beta. I have thoroughly tested it on Windows and on 
Linux. I am looking for more testers and feedback.

Demo video at [2].

<buzz>I hope it opens up an easy venue to build distributed calculators 
without the hassle of going through MPI or anything similar, in a truely 
cross-platform approach, making R a viable citizen in  highly 
heterogenous message processing environments. </buzz>



Cheers,
Ulrich




References:
[1] http://stomp.github.com/implementations.html#STOMP_1_0_Servers
[2] http://www.youtube.com/watch?v=h1gLgJOEWW0