コード例 #1
0
static bool
dnode_req_filter(struct context *ctx, struct conn *conn, struct msg *msg)
{
    ASSERT(conn->type == CONN_DNODE_PEER_CLIENT);

    if (msg_empty(msg)) {
        ASSERT(conn->rmsg == NULL);
        if (log_loggable(LOG_VERB)) {
           log_debug(LOG_VERB, "dyn: filter empty req %"PRIu64" from c %d", msg->id,
                       conn->sd);
        }
        req_put(msg);
        return true;
    }

    /* dynomite handler */
    if (msg->dmsg != NULL) {
        if (dmsg_process(ctx, conn, msg->dmsg)) {
            req_put(msg);
            return true;
        }

    }

    return false;
}
コード例 #2
0
ファイル: dyn_dnode_request.c プロジェクト: amit-git/dynomite
static bool
dnode_req_filter(struct context *ctx, struct conn *conn, struct msg *msg)
{
	ASSERT(conn->dnode_client && !conn->dnode_server);

	if (msg_empty(msg)) {
		ASSERT(conn->rmsg == NULL);
		log_debug(LOG_VERB, "dyn: filter empty req %"PRIu64" from c %d", msg->id,
				conn->sd);
		dnode_req_put(msg);
		return true;
	}

	/* dynomite hanlder */
	if (msg->dmsg != NULL) {
		if (dmsg_process(ctx, conn, msg->dmsg)) {
			dnode_req_put(msg);
			return true;
		}
	}

	return false;
}