Skip to content

ZeroMQ (ØMQ, 0MQ or ZMQ) library for Pharo

License

Notifications You must be signed in to change notification settings

OpenSmock/PharoZeroMQ

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License

Pharo 11 CI Pharo 12 CI Pharo 13 CI

PharoZeroMQ

This is a framework of the ZeroMQ Library ( also known as ZMQ, ØMQ or 0MQ) on Pharo. Using ZMQ lets you create a connection between 2 images via an URL and eventually send messages to one another. You will find the bases of the library, but some methods might be missing as well as some constant options. You'll find in ZMQ-Samples examples on how to use certain methods to guide you.

What's to improve

  • Receiving in a blocking way : To do that, a Threaded Worker needs to be used but every socket type doesn't necessarily support it. In this case, none of the implemented sockets can support multi-threading.

  • Get Socket Option : This method doesn't seem to work, the error obtained is : 'Ressource Temporarily Unavailable' no matter what was tried regarding the type of arguments.

  • Set Socket Option : Works with ByteArrays, so the use of ZMQ_SUBSCRIBE and UNSUBSCRIBE is possible as well as for other options that take same types arguments. There is however the same issue than getsockopt for any other type requested by the method.

  • Library for other OS : For now, the only available library on this repository is zmq.dll which is for Windows. A zmq.so and zmq.dylib would let other OSs users use this repository.

Getting Started

Installation

To install the project on your Pharo image you can just execute the following script:

Metacello new
   baseline: 'PharoZeroMQ';
   repository: 'github://OpenSmock/PharoZeroMQ:main/src';
   load.

Dependencies

No dependencies.

License

This project is licensed under the MIT License - see the LICENSE file for details.