[zeromq-dev] Reasonable Mechanism?

Greg Young gregoryyoung1 at gmail.com
Thu Mar 10 13:22:55 CET 2016


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



More information about the zeromq-dev mailing list