Add getCapabilities to filters
Common capabilities are now defined in routing.h. The common capabilities can be defined using bits 0 - 15. Router capabilities are defined using bits 16-31 and filter capabilities (should there ever be such) using bits 32-47. So, to find out the capabilities of a service you only need to OR the capabilities of the router and all filters together. For instance, if a single filter needs statement based routing, then that is what is done.
This commit is contained in:
38
include/maxscale/routing.h
Normal file
38
include/maxscale/routing.h
Normal file
@ -0,0 +1,38 @@
|
||||
#pragma once
|
||||
/*
|
||||
* Copyright (c) 2016 MariaDB Corporation Ab
|
||||
*
|
||||
* Use of this software is governed by the Business Source License included
|
||||
* in the LICENSE.TXT file and at www.mariadb.com/bsl.
|
||||
*
|
||||
* Change Date: 2019-07-01
|
||||
*
|
||||
* On the date above, in accordance with the Business Source License, use
|
||||
* of this software will be governed by version 2 or later of the General
|
||||
* Public License.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file routing.h - Common definitions and declarations for routers and filters.
|
||||
*/
|
||||
|
||||
#include <maxscale/cdefs.h>
|
||||
|
||||
MXS_BEGIN_DECLS
|
||||
|
||||
/**
|
||||
* Routing capability type. Indicates what kind of input a router or
|
||||
* a filter accepts.
|
||||
*
|
||||
* @note The values of the capabilities here *must* be between 0x0000
|
||||
* and 0x8000, that is, bits 0 to 15.
|
||||
*/
|
||||
typedef enum routing_capability
|
||||
{
|
||||
RCAP_TYPE_STMT_INPUT = 0x0001, /**< Statement per buffer. */
|
||||
} routing_capability_t;
|
||||
|
||||
#define RCAP_TYPE_NONE 0
|
||||
|
||||
MXS_END_DECLS
|
||||
|
Reference in New Issue
Block a user