2012-04-26 51 views

回答

6

據我所知,目前還沒有可用於3.x中,但根據自述

設備

少即是多

預構建的設備和zmq_device()已刪除。應作爲單獨的項目提供 。

整整一年前,pieterh寫的原因如下on the site去除設備:

這更多的是能夠從libzmq核心獨立完善的設備層。作爲libzmq核心的一部分,很難改進這些設備層,主要是因爲核心API被認爲是神聖的,而其他東西則不是。即除了主要版本之外,其他人不會觸及核心API。因此,除了主要版本之外,如果它們是核心的一部分,則不會觸摸設備。

+0

所以我在哪裏可以得到一個隊列:d – chrislovecnm 2012-04-26 20:28:44

+3

彼得實際上已[恢復](https://github.com/zeromq/libzmq/commit/9ac40c47d7fc3f47859a914147a0a840505e868c)當前libzmq-3.1中的設備。 – minrk 2012-04-26 23:48:45

7

這是一個有點糊塗了,所以這裏的故事。

當我繼承0MQ/2.X的維護,它有一個zmq_device()函數,和一組外部設備的應用程序,與XML配置小主節目。

我曾試圖改善與這兩個層,這人擺弄,由維護者拒絕的補丁文件。然後,我們將外部應用程序移動到zdevices項目,配置更靈活等等。最終,這些應用程序沒有被採用並被放棄。 zdevices使用libzfl(和XML)進行配置。大部分libzfl都被重構爲CZMQ API(人們使用的很多)。

Sustrik然後決定從0MQ/3.0中刪除zmq_device調用,我用「less is more」參數解釋了列表。人們並不真的喜歡這個,因爲它打破了很多現有的應用程序,原因相當薄弱。

所以在XS fork之後,我將zmq_device修補回0MQ/3.1。 C++ API不是核心庫的一部分,但任何使用它的人都歡迎將設備方法修補回來。

HTH。

+0

我們將在C++ API上發送一個pull請求。也許在隊列上做一些工作。 – chrislovecnm 2012-04-29 04:54:46

0

只需使用C API現在:

zmq_device (ZMQ_QUEUE, clients, workers);