[zeromq-dev] Reasonable Mechanism?
Pieter Hintjens
ph at imatix.com
Thu Mar 10 14:10:04 CET 2016
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
More information about the zeromq-dev
mailing list