Syoyo Fujita's Blog

raytracing monte carlo

Month: December, 2012

hiredis + libuv async example

redis is a fast, compact and great KVS and messaging library.

hiredis is official C client of redis and it provides async API utilizing libev and libevent, but lacks libuv.

So I made libuv version of async hiredis API example.

https://github.com/syoyo/redis/blob/unstable/deps/hiredis/example-libuv.c

libuv adapter

https://github.com/syoyo/redis/blob/unstable/deps/hiredis/adapters/libuv.h

was grabbed from hugu project

http://code.google.com/p/fugu/source/browse/trunk/src/hiredis/adapters/libuv.h

Its so simple to adapt hiredis async API since its written by simple C API 😉

Hope this helps for someone.

Advertisements

rsocket, new way of RDMA-aware programming?

Recently I’m investigating rsocket.

rsocket is a socket interface for RDMA programming(IB Verbs). Easy to code, but still achieve good performance(i.e., low-latency, and high-bandwidth).

Apparently, if we code our program using rsocket, it works well.

Since socket API is very similar so it is replacable with existing socket API through DLL replacement.

There’s hope that accelerating existing socket application by replacing DLL library as done in SDP(Socket Direct Protocol). but as far as I’ve tested it doesn’t work well(tested on iperf and netperf)… Time will solve…