Added command type to:

gwbuf struct
dcb struct

This int field will hold the last command executed or sent to backend.

It will be 0 for most cases, setting it with a different value could help route differently the data from backend to client or some custom error messages.
This commit is contained in:
Massimiliano Pinto
2013-07-16 19:32:00 +02:00
parent bfc45c570e
commit 17e33d2ef9
4 changed files with 16 additions and 6 deletions

View File

@ -27,9 +27,10 @@
* @verbatim
* Revision History
*
* Date Who Description
* 10/06/13 Mark Riddoch Initial implementation
* 11/07/13 Mark Riddoch Add reference count mechanism
* Date Who Description
* 10/06/13 Mark Riddoch Initial implementation
* 11/07/13 Mark Riddoch Add reference count mechanism
* 16/07/2013 Massimiliano Pinto Added command type to gwbuf struct
*
* @endverbatim
*/
@ -80,6 +81,7 @@ SHARED_BUF *sbuf;
sbuf->refcount = 1;
rval->sbuf = sbuf;
rval->next = NULL;
rval->command = 0;
return rval;
}
@ -126,6 +128,8 @@ GWBUF *rval;
rval->start = buf->start;
rval->end = buf->end;
rval->next = NULL;
rval->command = buf->command;
return rval;
}
/**

View File

@ -38,6 +38,7 @@
* 02/07/2013 Massimiliano Pinto Addition of delayqlock, delayq and authlock
* for handling backend asynchronous protocol connection
* and a generic lock for backend authentication
* 16/07/2013 Massimiliano Pinto Added command type for dcb
*
* @endverbatim
*/
@ -94,6 +95,7 @@ DCB *rval;
memset(&rval->stats, 0, sizeof(DCBSTATS)); // Zero the statistics
bitmask_init(&rval->memdata.bitmask);
rval->memdata.next = NULL;
rval->command = 0;
spinlock_acquire(&dcbspin);
if (allDCBs == NULL)

View File

@ -34,9 +34,10 @@
* @verbatim
* Revision History
*
* Date Who Description
* 10/06/13 Mark Riddoch Initial implementation
* 11/07/13 Mark Riddoch Addition of reference count in the gwbuf
* Date Who Description
* 10/06/2013 Mark Riddoch Initial implementation
* 11/07/2013 Mark Riddoch Addition of reference count in the gwbuf
* 16/07/2013 Massimiliano Pinto Added command type for the queue
*
* @endverbatim
*/
@ -64,6 +65,7 @@ typedef struct gwbuf {
void *start; /**< Start of the valid data */
void *end; /**< First byte after the valid data */
SHARED_BUF *sbuf; /**< The shared buffer with the real data */
int command; /**< The command type for the queue */
} GWBUF;
/*

View File

@ -44,6 +44,7 @@ struct service;
* and a generic lock for backend authentication
* 12/07/2013 Massimiliano Pinto Added auth entry point
* 15/07/2013 Massimiliano Pinto Added session entry point
* 16/07/2013 Massimiliano Pinto Added command type for dcb
*
* @endverbatim
*/
@ -151,6 +152,7 @@ typedef struct dcb {
struct service *service; /**< The related service */
void *data; /**< Specific client data */
DCBMM memdata; /**< The data related to DCB memory management */
int command; /**< Specific client command type */
} DCB;
/* DCB states */