Beispiel #1
0
	*pport = port;
	return (myhttp);
}

EVRPC_HEADER(Message, msg, kill)
EVRPC_HEADER(NeverReply, msg, kill)

EVRPC_GENERATE(Message, msg, kill)
EVRPC_GENERATE(NeverReply, msg, kill)

static int need_input_hook = 0;
static int need_output_hook = 0;

static void
MessageCb(EVRPC_STRUCT(Message)* rpc, void *arg)
{
	struct kill* kill_reply = rpc->reply;

	if (need_input_hook) {
		struct evhttp_request* req = EVRPC_REQUEST_HTTP(rpc);
		const char *header = evhttp_find_header(
			req->input_headers, "X-Hook");
		assert(header);
		assert(strcmp(header, "input") == 0);
	}

	/* we just want to fill in some non-sense */
	EVTAG_ASSIGN(kill_reply, weapon, "dagger");
	EVTAG_ASSIGN(kill_reply, action, "wave around like an idiot");
Beispiel #2
0
{
    switch (type) {
    case MACHINE_CMGR:
        return "MGR";
    case MACHINE_MDS:
        return "MDS";
    case MACHINE_OSD:
        return "OSD";
    case MACHINE_CLIENT:
        return "client";
    }
    return NULL;
}

//evrpc server side
void ping_handler(EVRPC_STRUCT(rpc_ping) * rpc, void *arg)
{
    DBG();

    struct ping *ping = rpc->request;
    struct pong *pong = rpc->reply;

    int ping_version = ping->version;
    //char * self_ip = ping->self_ip;
    char *remote_ip;            //= rpc->http_req->evcon->address;
    int remote_port;            //= rpc->http_req->evcon->address;
    uint16_t tmp_port;
    evhttp_connection_get_peer(rpc->http_req->evcon, &remote_ip, &tmp_port);
    remote_port = ping->self_port;
    int type = ping->self_type;
    int mid = ping->mid;