Added new entry point in router: errorReply

The routine if called from backend will ido:

1 reply error messages to client closing or not the session
2 open a new backend connection

An action flag is passed to the routine.
This commit is contained in:
Massimiliano Pinto
2013-10-22 10:30:16 +02:00
parent 4a189696bd
commit 8e9b7fb26a
5 changed files with 46 additions and 2 deletions

View File

@ -29,6 +29,7 @@
* and the diagnostic entry point
* 15/07/2013 Massimiliano Pinto Added clientReply entry point
* 16/07/2013 Massimiliano Pinto Added router commands values
* 22/10/2013 Massimiliano Pinto Added router errorReply entry point
*
*/
#include <service.h>
@ -57,6 +58,8 @@ typedef void *ROUTER;
* diagnostics Called to force the router to print
* diagnostic output
* clientReply Called to reply to client the data from one or all backends
* errorReply Called to reply to client errors with optional closeSession or
* make a request for a new backend connection
*
* @endverbatim
*
@ -70,6 +73,7 @@ typedef struct router_object {
int (*routeQuery)(ROUTER *instance, void *router_session, GWBUF *queue);
void (*diagnostics)(ROUTER *instance, DCB *dcb);
void (*clientReply)(ROUTER* instance, void* router_session, GWBUF* queue, DCB *backend_dcb);
void (*errorReply)(ROUTER* instance, void* router_session, char* message, DCB *backend_dcb, int action);
} ROUTER_OBJECT;
/* Router commands */