[JOB] example paired network app

AJ ONeal coolaj86 at gmail.com
Wed Dec 22 19:51:00 CET 2010


I need a paired network application which works in this fashion
(and as soon as possible)

The "provider"

   - has a thread "dummy_data_getter" which
      - `malloc()`s 512kb of memory (leave the garbage)
      - sleeps for 128ms
      - notifies libev that it is ready and hands off the data

      - has an event loop "main_loop" which
   - has a copy of the most recent data from "dummy_data_getter"
      - updates that copy whenever new data is available
      - listens for unix stream socket connections on "/tmp/provider.sock"
      - sends the full 512kb to each listener when the data is updated
         - it does not send data to a new listener until the data has
         updated
         - there is a timeout of 1 second for dropping listeners which may
      have improperly disconnected


The "consumer" (which can have multiple instances)

   - connects to a unix stream socket "/tmp/provider.sock"
   - receives 512kb of data
   - copies the data into a buffer
   - closes the connection
   - creates a dummy thread "process_data" which
      - copies from the buffer
      - sleeps for a random time between 100 and 150 ms
      - starts again if the data in buffer is new data (using libev
      signaling)

I was thinking that for someone on the list who is familiar with libev it
would probably take 2 to 3 hours,
so I'd like to propose $200 (150€, £130, or whichever currency you prefer),
but if that doesn't sound reasonable enough make me an offer.

I have a lot of work and I need an extra hand.
I would also probably use you again in the future when I'm swamped and need
a hand.

If convenient, the example skeleton here may be used:
https://github.com/coolaj86/libev-examples

Please contact me off-list at your earliest convenience if interested.

AJ ONeal
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.schmorp.de/pipermail/libev/attachments/20101222/40979fb6/attachment.html>


More information about the libev mailing list