[zeromq-dev] Reasonable Mechanism?

Pieter Hintjens ph at imatix.com
Thu Mar 10 14:32:52 CET 2016


It's not for testing the library, it's for detecting it. This is how
autotools (and cmake too afair) detects a library... if you want a
configure script that sets a platform.h macro, one needs to specify
the test function. It should perhaps be called 'detect' instead of
'test'...



On Thu, Mar 10, 2016 at 3:12 PM, Greg Young <gregoryyoung1 at gmail.com> wrote:
> and I can't leave it out if I don't want to run tests?
>
> On Thu, Mar 10, 2016 at 3:10 PM, Pieter Hintjens <ph at imatix.com> wrote:
>> It's a function, so e.g. "uuid_generate" to test libuuid. It's for the
>> AC_CHECK_LIB macro in autoconf.
>>
>> On Thu, Mar 10, 2016 at 2:22 PM, Greg Young <gregoryyoung1 at gmail.com> wrote:
>>> I am a bit uncertain what the test attribute actually does in
>>> zproject. From looking it seems that it calls a test binary (I am
>>> guessing relative to the root) what if a library doesn't include a
>>> test or you don't want to run tests against it as its required.
>>>
>>> On Thu, Mar 10, 2016 at 1:17 PM, Pieter Hintjens <ph at imatix.com> wrote:
>>>> The failing 'use.test' property comes from autoconf's use of calling a
>>>> method to test whether a library exists or not. You can see in
>>>> zproject/zproject_known_projects.xml how we define this for the
>>>> projects we support by default.
>>>>
>>>> For your main question, I'd start with some test code (outside a
>>>> project, just for learning) that uses a ZMQ_STREAM socket to talk to
>>>> your server. When this is working, you can wrap that in an actor that
>>>> also uses a pipe to talk to the outside world. Then it uses a zpoller
>>>> to work with these two sockets at once.
>>>>
>>>> There is not a lot of documentation on stream sockets, so I'd use the
>>>> test cases (libzmq/tests/*stream*.cpp) as a starting point. Also the
>>>> zmq_socket man page.
>>>>
>>>> -Pieter
>>>>
>>>>
>>>>
>>>> On Thu, Mar 10, 2016 at 12:19 PM, Greg Young <gregoryyoung1 at gmail.com> wrote:
>>>>> I have been playing with czmq/zactor/zproject/etc the last few days
>>>>> and have decided to do a small project to learn a bit more. Thus far I
>>>>> am reasonably comfortable with zproject and how it works.
>>>>>
>>>>> The project I have decided to write is a client library for EventStore
>>>>> http://github.com/eventstore/eventstore. The protocol already exists
>>>>> and there are many clients. The protocol is basically full duplex tcp
>>>>> with basic framing of protobuf serialized messages. All operations are
>>>>> async.
>>>>>
>>>>> One issue I am running into is I am not quite sure how to structure my
>>>>> connection actor (having dealt in actor systems before guessed I would
>>>>> have a connection actor). From looking I havn't found a reasonable way
>>>>> of building up a tcp client inside of an actor where everything is
>>>>> asynchronous eg if I use direct OS calls how do I handle both
>>>>> servicing the TCP socket and servicing my message pump on the actor?
>>>>> There are currently very limited numbers of examples up on zactor (and
>>>>> most are doing very basic things). Any help with how to structure this
>>>>> or similar examples that may exist would be helpful.
>>>>>
>>>>> A second small issue. I have been unable to get zproject to use any
>>>>> external libraries. When adding any library have tried both tarballs
>>>>> and repositories I always end up with an error message of "undefined
>>>>> expression use.test" from zproject_autotools.gsl:171. I don't have
>>>>> enough experience yet with zproject to be able to resolve this.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Greg
>>>>>
>>>>> --
>>>>> Studying for the Turing test
>>>>> _______________________________________________
>>>>> zeromq-dev mailing list
>>>>> zeromq-dev at lists.zeromq.org
>>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>> _______________________________________________
>>>> zeromq-dev mailing list
>>>> zeromq-dev at lists.zeromq.org
>>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>>>
>>>
>>>
>>> --
>>> Studying for the Turing test
>>> _______________________________________________
>>> zeromq-dev mailing list
>>> zeromq-dev at lists.zeromq.org
>>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>> _______________________________________________
>> zeromq-dev mailing list
>> zeromq-dev at lists.zeromq.org
>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev
>
>
>
> --
> Studying for the Turing test
> _______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev



More information about the zeromq-dev mailing list