Example #1
0
void
dnode_req_recv_done(struct context *ctx, struct conn *conn,
		            struct msg *msg, struct msg *nmsg)
{
	ASSERT(conn->dnode_client && !conn->dnode_server);
	ASSERT(msg->request);
	ASSERT(msg->owner == conn);
	ASSERT(conn->rmsg == msg);
	ASSERT(nmsg == NULL || nmsg->request);

	/* enqueue next message (request), if any */
	conn->rmsg = nmsg;

	if (dnode_req_filter(ctx, conn, msg)) {
		return;
	}

	dnode_req_local_forward(ctx, conn, msg);
}
Example #2
0
static void
dnode_req_recv_done(struct context *ctx, struct conn *conn,
                    struct msg *msg, struct msg *nmsg)
{
    ASSERT(conn->type == CONN_DNODE_PEER_CLIENT);
    ASSERT(msg->request);
    ASSERT(msg->owner == conn);
    ASSERT(conn->rmsg == msg);
    ASSERT(nmsg == NULL || nmsg->request);

    /* enqueue next message (request), if any */
    conn->rmsg = nmsg;

    if (dnode_req_filter(ctx, conn, msg)) {
        return;
    }

    log_debug(LOG_VERB, "received msg: %d:%d", msg->id, msg->parent_id);
    dnode_req_forward(ctx, conn, msg);
}