Hello, I am looking to have an implementation of ZeroMQ on a Spark Core (spark.io). These modules are made of STM32 microcontroller (ARM 32bits Cortex M3 @ 72MHz) and a WiFi chip from TI. More info here: http://docs.spark.io/#/hardware. They also run Arduino by default.
Despite the scarce resources compared to a usual computer, I am hopeful of getting at least a small subset of ZeroMQ's features on it :). There are some socket functions available which seems rather correct for such a small device. Here are their definitions: https://github.com/spark/core-common-lib/blob/master/CC3000_Host_Driver/socket.h In brief, only AF_INET domain is supported, SOCK_STREAM, SOCK_DGRAM and SOCK_RAW types, and IPPROTO_TCP, IPPROTO_UDP and IPPROTO_RAW protocols. You have the rest of the API: accept, bind, listen, connect, select, recv, send, [g/s]etsockopt, gethostbyname, and a few others. I have two questions now: - Do you think with this socket API we can fairly well implement main features of ZMQ? (all ZMQ sockets over tcp at least)? - If yes, I will have two options to do it. Either I attempt to recompile some parts of the original libzmq. Or I implement from scratch 23/ZMTP (or maybe starting with 15/ZMTP?). In the former case, I will have to deal with other restrictions in the system API. It is simply not a full fledged one. And it don't have multitasking. They are planing to implement at least two tasks, one for the application-logic, one for the communication layer. They are also talking about having more "real" multitasking, but at the cost of very few memory left for the user program... Therefore, the current architecture of libzmq with its IO-thread(s) and API-thread could not have a close match on such target :S. So, my questions on this one is, if I try to take libzmq and flesh it out to only pick what I need, will I stumble upon many "exotic" system calls? Is it realistic considering your knowledge of the internals of libzmq? Also, will the threading approach of libzmq get in my way, in your opinion? Looking forward to reading your answers, Axel
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
