int main(int argc, char **argv) { if(argc < 2) { fprintf(stderr, "usage: %s 'script.k'\n", argv[0]); return 1; } memcached_st *mc = memcached_create(NULL); memcached_server_list_st servers; memcached_return_t rc; servers = memcached_server_list_append(NULL, "127.0.0.1", 11211, &rc); if(rc != MEMCACHED_SUCCESS) { fprintf(stderr, "memcached_server_list_append failed\n"); } rc = memcached_server_Push(mc, servers); memcached_server_list_Free(servers); logpool_t *logpool = logpool_open_client(NULL, "0.0.0.0", 14801); size_t script_len; char *script = loadFile(argv[1], &script_len); memcached_set(mc, "dump_Init", strlen("dump_Init"), script, script_len, 0, 0); logpool_procedure(logpool, "dump", strlen("dump")); struct Log *logbuf = alloca(sizeof(struct Log) + 256); while(1) { if(logpool_client_get(logpool, logbuf, 256) == NULL) { break; } log_dump(stderr, "log=(", logbuf, ")\n", 1); usleep(1); } logpool_close(logpool); free(script); return 0; }
//## LogPool LogPool.new(String host, int port) static KMETHOD LogPool_new(KonohaContext *kctx, KonohaStack *sfp) { kRawPtr *ret = (kRawPtr *) sfp[0].asObject; char *host = (char *) S_text(sfp[1].asString); int port = sfp[2].intValue; RawPtr_init(kctx, sfp[0].asObject, logpool_open_client(NULL, host, port)); RETURN_(ret); }
int main(int argc, char **argv) { if(argc < 2) { fprintf(stderr, "usage: %s 'compiled-llvm-bitcode'\n", argv[0]); return 1; } llcache_t *llmc = llcache_new("0.0.0.0", 11211); logpool_t *logpool = logpool_open_client(NULL, "0.0.0.0", 14801); llcache_set(llmc, "tid_usage_init", argv[1]); logpool_procedure(logpool, "tid_usage", strlen("tid_usage")); struct Log *logbuf = alloca(sizeof(struct Log) + 256); while(1) { if(logpool_client_get(logpool, logbuf, 256) == NULL) { break; } log_dump(stderr, "log=(", logbuf, ")\n", 1); usleep(1); } logpool_close(logpool); llcache_delete(llmc); return 0; }
int main(int argc, char **argv) { logpool_t *logpool; logpool = logpool_open_client(NULL, "0.0.0.0", 14801); if(argc < 2) { fprintf(stderr, "usage: %s key value key value ...\n", argv[0]); goto L_error; } logpool_procedure(logpool, argv[1], strlen(argv[1])); struct Log *logbuf = alloca(sizeof(struct Log) + 256); while(1) { logpool_client_get(logpool, logbuf, 256); log_dump(stdout, "log=(", logbuf, ")\n", 1); usleep(1); } logpool_close(logpool); return 0; L_error:; logpool_close(logpool); return 1; }
} //static kObject *new_RawPtr(CTX, const kclass_t *ct, void *ptr) //{ // kObject *ret = new_kObject(ct, ptr); // RawPtr_init(_ctx, ret, ptr); // return ret; //} //## LogPool LogPool.new(String host, int port) static KMETHOD LogPool_new(CTX, ksfp_t *sfp _RIX) { kRawPtr *ret = (kRawPtr *) sfp[0].o; char *host = (char *) S_text(sfp[1].s); int port = sfp[2].ivalue; RawPtr_init(_ctx, sfp[0].o, logpool_open_client(NULL, host, port)); RETURN_(ret); } //## Log LogPool.get() static KMETHOD LogPool_get(CTX, ksfp_t *sfp _RIX) { logpool_t *lp = (logpool_t *) ((kRawPtr *) sfp[0].o)->rawptr; char *buf = malloc(256); char *ret = logpool_client_get(lp, buf, 256); kObject *log = new_kObject(O_ct(sfp[K_RTNIDX].o), buf); assert (ret && "TODO"); RETURN_(log); } //## String Log.get(String key)