Skip to content

Instantly share code, notes, and snippets.

View cablehead's full-sized avatar

Andy Gayton cablehead

View GitHub Profile
local ffi = require("ffi")
local levee = require("levee")
ffi.cdef([[
typedef struct { int len; } myproto_prefix_t;
]])
local ffi = require("ffi")
local levee = require("levee")
ffi.cdef([[
typedef struct { int len; } myproto_prefix_t;
]])
local ffi = require("ffi")
local levee = require("levee")
local d = levee.d
ffi.cdef([[
typedef struct { int len; } myproto_prefix_t;
]])
#include <assert.h>
#include <pthread.h>
#include <unistd.h>
#include <fcntl.h>
#include <signal.h>
#include <stdio.h>
#include <netdb.h>
#include <string.h>
#include <errno.h>
local levee = require("levee")
local _ = levee._
local RPCThreadPool_mt = {}
function RPCThreadPool_mt:__index(name)
return function(self, ...)
local sender, recver = self.h:pipe()
local levee = require("levee")
local _ = levee._
local ThreadPool_mt = {}
function ThreadPool_mt:__index(name)
return function(self, ...)
local sender, recver = self.h:pipe()
local levee = require("levee")
local _ = levee._
local h = levee.Hub()
_.fcntl_nonblock(0); h.stdin = h.io:r(0)
_.fcntl_nonblock(1); h.stdout = h.io:w(1)
local stream = h.stdin:stream()
local levee = require("levee")
local _ = levee._
local h = levee.Hub()
_.fcntl_nonblock(0)
h.stdin = h.io:r(0)
_.fcntl_nonblock(1)
h.stdout = h.io:w(1)
@cablehead
cablehead / rk_groups.c
Created July 25, 2016 23:16
listing kafka groups
const struct rd_kafka_group_list *grplist;
err = rd_kafka_list_groups(rk, NULL, &grplist, 5000);
assert (!err);
for (i = 0 ; i < grplist->group_cnt ; i++) {
const struct rd_kafka_group_info *gi = &grplist->groups[i];
printf("%s\n", gi->group);
}
rd_kafka_group_list_destroy(grplist);
local levee = require("levee")
local _ = levee._
local h = levee.Hub()
local err, serve = h.http:listen(8099)
for conn in serve do
h:spawn(function()
for req in conn do