2012-04-26 5 views

Répondre

6

AFAIK, il n'y a pas de dispositifs disponibles pour 3.x, mais selon le readme

Moins est plus

Périphériques préconfigurés et zmq_device() supprimés. Doit être mis à disposition en tant que projet (s) distinct (s).

Il y a exactement un an, pieterh écrit ce qui suit on the site sur les raisons de la suppression des dispositifs:

Il est surtout d'être en mesure d'améliorer les couches du dispositif indépendamment du noyau libzmq. Il a été difficile d'améliorer ces couches de périphériques dans le cadre de libzmq core, principalement parce que l'API de base est considérée comme sacrée d'une manière que d'autres choses ne sont pas. C'est à dire. on ne touche pas une API de base sauf entre les versions majeures. Donc, on ne touche pas aux appareils s'ils font partie du noyau, sauf entre les versions majeures. Il est un peu confus, alors voici l'histoire.

+0

Alors, où puis-je obtenir une file d'attente: D – chrislovecnm

+3

Pieter a fait [restauré] (https://github.com/zeromq/libzmq/commit/9ac40c47d7fc3f47859a914147a0a840505e868c) les périphériques de la libzmq-3.1 actuelle. – minrk

7

Lorsque j'ai hérité de la maintenance de 0MQ/2.x, il avait une fonction zmq_device(), et un ensemble d'applications périphériques externes, de petits programmes principaux avec une configuration XML.

J'avais précédemment essayé d'améliorer et de documenter ces deux couches, avec lesquelles les gens jouaient, les patches refusés par les mainteneurs. Nous avons ensuite déplacé les applications externes vers le projet zdevices, avec une configuration plus flexible, etc. En fin de compte, ces applications n'ont pas été adoptées et ont été abandonnées. zdevices a utilisé libzfl (et XML) pour sa configuration. La majeure partie de libzfl a été refactorisée dans l'API CZMQ (que les gens utilisent beaucoup). Sustrik a alors décidé de supprimer l'appel zmq_device de 0MQ/3.0, que j'ai expliqué la liste avec l'argument "less is more". Les gens n'aimaient pas vraiment cela, car il cassait beaucoup d'applications existantes, pour une raison assez faible. Donc, après la branche XS, j'ai corrigé zmq_device dans 0MQ/3.1. L'API C++ ne fait pas partie de la bibliothèque principale, mais tous ceux qui l'utilisent sont invités à y recréer une méthode de périphérique.

HTH.

+0

Nous vous enverrons une requête pull sur l'API C++. Il est probable que certains travaillent également dans la file d'attente. – chrislovecnm

0

Il suffit d'utiliser l'API C pour l'instant:

zmq_device (ZMQ_QUEUE, clients, workers); 
Questions connexes