pyros-dev / pyzmp

ZeroMQ based multiprocessing framework for python
BSD 3-Clause "New" or "Revised" License
3 stars 1 forks source link

param /vs/ services /vs/ topic : Pyzmp communication concepts #12

Open asmodehn opened 8 years ago

asmodehn commented 8 years ago

ROS has 3 was to communicate :

Other systems have a combination of these. (REST is services only, but often a DB back is added and provide a global-state, at least for the backend side, MQTT is topics only, and topics can be used to implement services, etc.)

It could be interesting for pyzmp to unify these concepts, ie. design one communication concept that can be used to implement all of them (since each seems to be a specialization of a more abstract/basic concept).

Services are very versatile to handle communication (discoverable, client needs no specific requirements, etc.), and are already implemented, so it make sense we use these as a base.

We need to add :

asmodehn commented 8 years ago

More thinking about this topic :

asmodehn commented 8 years ago

We need to dive more into https://docs.python.org/3/library/asyncio-task.html It seems a coroutine (or mixing a future with a generator) could give us the functionality we need of a function that can be called once and return a value multiple times, at different intervals...