Format filter modules
Formatted filter modules with Astyle.
This commit is contained in:
5
server/modules/filter/cache/cache.hh
vendored
5
server/modules/filter/cache/cache.hh
vendored
@ -42,7 +42,10 @@ public:
|
|||||||
|
|
||||||
void show(DCB* pDcb) const;
|
void show(DCB* pDcb) const;
|
||||||
|
|
||||||
const CACHE_CONFIG& config() const { return m_config; }
|
const CACHE_CONFIG& config() const
|
||||||
|
{
|
||||||
|
return m_config;
|
||||||
|
}
|
||||||
|
|
||||||
virtual json_t* get_info(uint32_t what = INFO_ALL) const = 0;
|
virtual json_t* get_info(uint32_t what = INFO_ALL) const = 0;
|
||||||
|
|
||||||
|
12
server/modules/filter/cache/cachefilter.hh
vendored
12
server/modules/filter/cache/cachefilter.hh
vendored
@ -24,8 +24,16 @@ public:
|
|||||||
|
|
||||||
static CacheFilter* create(const char* zName, char** pzOptions, CONFIG_PARAMETER* ppParams);
|
static CacheFilter* create(const char* zName, char** pzOptions, CONFIG_PARAMETER* ppParams);
|
||||||
|
|
||||||
Cache& cache() { ss_dassert(m_sCache.get()); return *m_sCache.get(); }
|
Cache& cache()
|
||||||
const Cache& cache() const { ss_dassert(m_sCache.get()); return *m_sCache.get(); }
|
{
|
||||||
|
ss_dassert(m_sCache.get());
|
||||||
|
return *m_sCache.get();
|
||||||
|
}
|
||||||
|
const Cache& cache() const
|
||||||
|
{
|
||||||
|
ss_dassert(m_sCache.get());
|
||||||
|
return *m_sCache.get();
|
||||||
|
}
|
||||||
|
|
||||||
CacheFilterSession* newSession(SESSION* pSession);
|
CacheFilterSession* newSession(SESSION* pSession);
|
||||||
|
|
||||||
|
20
server/modules/filter/cache/lrustorage.hh
vendored
20
server/modules/filter/cache/lrustorage.hh
vendored
@ -122,10 +122,22 @@ private:
|
|||||||
remove();
|
remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
const CACHE_KEY* key() const { return pkey_; }
|
const CACHE_KEY* key() const
|
||||||
size_t size() const { return size_; }
|
{
|
||||||
Node* next() const { return pnext_; }
|
return pkey_;
|
||||||
Node* prev() const { return pprev_; }
|
}
|
||||||
|
size_t size() const
|
||||||
|
{
|
||||||
|
return size_;
|
||||||
|
}
|
||||||
|
Node* next() const
|
||||||
|
{
|
||||||
|
return pnext_;
|
||||||
|
}
|
||||||
|
Node* prev() const
|
||||||
|
{
|
||||||
|
return pprev_;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Move the node before the node provided as argument.
|
* Move the node before the node provided as argument.
|
||||||
|
@ -20,9 +20,9 @@
|
|||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
|
|
||||||
CACHE_STORAGE_API* CacheGetStorageAPI()
|
CACHE_STORAGE_API* CacheGetStorageAPI()
|
||||||
{
|
{
|
||||||
return &StorageModule<InMemoryStorage>::s_api;
|
return &StorageModule<InMemoryStorage>::s_api;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -25,7 +25,8 @@
|
|||||||
bool RocksDBInternals::is_stale(const rocksdb::Slice& value, int32_t ttl, rocksdb::Env* pEnv)
|
bool RocksDBInternals::is_stale(const rocksdb::Slice& value, int32_t ttl, rocksdb::Env* pEnv)
|
||||||
{
|
{
|
||||||
if (ttl <= 0)
|
if (ttl <= 0)
|
||||||
{ // Data is fresh if TTL is non-positive
|
{
|
||||||
|
// Data is fresh if TTL is non-positive
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#if (ROCKSDB_MAJOR != 4) || (ROCKSDB_MINOR != 9)
|
#if (ROCKSDB_MAJOR != 4) || (ROCKSDB_MINOR != 9)
|
||||||
#error RocksDBStorage was created with knowledge of RocksDB 4.9 internals.\
|
#error RocksDBStorage was created with knowledge of RocksDB 4.9 internals.\
|
||||||
The version used is something else. Ensure the knowledge is still applicable.
|
The version used is something else. Ensure the knowledge is still applicable.
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
namespace RocksDBInternals
|
namespace RocksDBInternals
|
||||||
|
@ -122,7 +122,8 @@ bool deletePath(const string& path)
|
|||||||
// FTS_XDEV - Don't cross filesystem boundaries
|
// FTS_XDEV - Don't cross filesystem boundaries
|
||||||
FTS *pFts = fts_open(files, FTS_NOCHDIR | FTS_PHYSICAL | FTS_XDEV, NULL);
|
FTS *pFts = fts_open(files, FTS_NOCHDIR | FTS_PHYSICAL | FTS_XDEV, NULL);
|
||||||
|
|
||||||
if (pFts) {
|
if (pFts)
|
||||||
|
{
|
||||||
FTSENT* pCurrent;
|
FTSENT* pCurrent;
|
||||||
while ((pCurrent = fts_read(pFts)))
|
while ((pCurrent = fts_read(pFts)))
|
||||||
{
|
{
|
||||||
@ -178,7 +179,8 @@ bool deletePath(const string& path)
|
|||||||
MXS_NOTICE("Deleted cache storage at '%s'.", path.c_str());
|
MXS_NOTICE("Deleted cache storage at '%s'.", path.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pFts) {
|
if (pFts)
|
||||||
|
{
|
||||||
fts_close(pFts);
|
fts_close(pFts);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -393,7 +395,10 @@ cache_result_t RocksDBStorage::Get_key(const char* zDefault_db, const GWBUF& que
|
|||||||
|
|
||||||
// dbs now contain each accessed database in sorted order. Now copy them to a single string.
|
// dbs now contain each accessed database in sorted order. Now copy them to a single string.
|
||||||
string tag;
|
string tag;
|
||||||
for_each(dbs.begin(), dbs.end(), [&tag](const string& db) { tag.append(db); });
|
for_each(dbs.begin(), dbs.end(), [&tag](const string & db)
|
||||||
|
{
|
||||||
|
tag.append(db);
|
||||||
|
});
|
||||||
|
|
||||||
memset(pKey->data, 0, CACHE_KEY_MAXLEN);
|
memset(pKey->data, 0, CACHE_KEY_MAXLEN);
|
||||||
|
|
||||||
@ -432,7 +437,8 @@ cache_result_t RocksDBStorage::get_info(uint32_t what, json_t** ppInfo) const
|
|||||||
auto sStatistics = m_sDb->GetOptions().statistics;
|
auto sStatistics = m_sDb->GetOptions().statistics;
|
||||||
|
|
||||||
for_each(rocksdb::TickersNameMap.begin(), rocksdb::TickersNameMap.end(),
|
for_each(rocksdb::TickersNameMap.begin(), rocksdb::TickersNameMap.end(),
|
||||||
[pInfo, sStatistics](const std::pair<rocksdb::Tickers, string>& tickerName) {
|
[pInfo, sStatistics](const std::pair<rocksdb::Tickers, string>& tickerName)
|
||||||
|
{
|
||||||
json_t* pValue = json_integer(sStatistics->getTickerCount(tickerName.first));
|
json_t* pValue = json_integer(sStatistics->getTickerCount(tickerName.first));
|
||||||
|
|
||||||
if (pValue)
|
if (pValue)
|
||||||
|
@ -21,9 +21,9 @@
|
|||||||
extern "C"
|
extern "C"
|
||||||
{
|
{
|
||||||
|
|
||||||
CACHE_STORAGE_API* CacheGetStorageAPI()
|
CACHE_STORAGE_API* CacheGetStorageAPI()
|
||||||
{
|
{
|
||||||
return &StorageModule<RocksDBStorage>::s_api;
|
return &StorageModule<RocksDBStorage>::s_api;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
10
server/modules/filter/cache/storagefactory.hh
vendored
10
server/modules/filter/cache/storagefactory.hh
vendored
@ -31,7 +31,10 @@ public:
|
|||||||
*
|
*
|
||||||
* @return Bitmask of @c cache_storage_capabilities_t values.
|
* @return Bitmask of @c cache_storage_capabilities_t values.
|
||||||
*/
|
*/
|
||||||
uint32_t capabilities() const { return m_caps; }
|
uint32_t capabilities() const
|
||||||
|
{
|
||||||
|
return m_caps;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The capabilities of storages loaded via this factory. These
|
* The capabilities of storages loaded via this factory. These
|
||||||
@ -39,7 +42,10 @@ public:
|
|||||||
*
|
*
|
||||||
* @return Bitmask of @c cache_storage_capabilities_t values.
|
* @return Bitmask of @c cache_storage_capabilities_t values.
|
||||||
*/
|
*/
|
||||||
uint32_t storage_capabilities() const { return m_storage_caps; }
|
uint32_t storage_capabilities() const
|
||||||
|
{
|
||||||
|
return m_storage_caps;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create storage instance.
|
* Create storage instance.
|
||||||
|
5
server/modules/filter/cache/test/tester.cc
vendored
5
server/modules/filter/cache/test/tester.cc
vendored
@ -46,7 +46,10 @@ public:
|
|||||||
return Thread(pTask);
|
return Thread(pTask);
|
||||||
}
|
}
|
||||||
|
|
||||||
Tester::Task* task() { return m_pTask; }
|
Tester::Task* task()
|
||||||
|
{
|
||||||
|
return m_pTask;
|
||||||
|
}
|
||||||
|
|
||||||
void start()
|
void start()
|
||||||
{
|
{
|
||||||
|
30
server/modules/filter/cache/test/tester.hh
vendored
30
server/modules/filter/cache/test/tester.hh
vendored
@ -52,12 +52,18 @@ public:
|
|||||||
*
|
*
|
||||||
* @return True, if the task should terminate, i.e., return from @c run.
|
* @return True, if the task should terminate, i.e., return from @c run.
|
||||||
*/
|
*/
|
||||||
bool should_terminate() const { return m_terminate; }
|
bool should_terminate() const
|
||||||
|
{
|
||||||
|
return m_terminate;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tell the task to terminate.
|
* Tell the task to terminate.
|
||||||
*/
|
*/
|
||||||
void terminate() { m_terminate = true; }
|
void terminate()
|
||||||
|
{
|
||||||
|
m_terminate = true;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Calls terminate on the provided task. For use in algorithms.
|
* Calls terminate on the provided task. For use in algorithms.
|
||||||
@ -98,14 +104,20 @@ public:
|
|||||||
*
|
*
|
||||||
* @return The value returned by @run.
|
* @return The value returned by @run.
|
||||||
*/
|
*/
|
||||||
int rv() const { return m_rv; }
|
int rv() const
|
||||||
|
{
|
||||||
|
return m_rv;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The stream to be used for user output.
|
* The stream to be used for user output.
|
||||||
*
|
*
|
||||||
* @return The output stream to be used.
|
* @return The output stream to be used.
|
||||||
*/
|
*/
|
||||||
std::ostream& out() const { return m_out; }
|
std::ostream& out() const
|
||||||
|
{
|
||||||
|
return m_out;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
/**
|
/**
|
||||||
@ -118,7 +130,10 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
friend class Thread;
|
friend class Thread;
|
||||||
void set_rv(int rv) { m_rv = rv; }
|
void set_rv(int rv)
|
||||||
|
{
|
||||||
|
m_rv = rv;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Task(const Task&);
|
Task(const Task&);
|
||||||
@ -249,7 +264,10 @@ protected:
|
|||||||
*
|
*
|
||||||
* @return A stream.
|
* @return A stream.
|
||||||
*/
|
*/
|
||||||
std::ostream& out() const { return m_out; }
|
std::ostream& out() const
|
||||||
|
{
|
||||||
|
return m_out;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Execute a specific number of tasks in as many threads.
|
* Execute a specific number of tasks in as many threads.
|
||||||
|
@ -243,7 +243,7 @@ int TesterLRUStorage::test_max_count_and_size(size_t n_threads, size_t n_seconds
|
|||||||
|
|
||||||
ss_debug(cache_result_t result);
|
ss_debug(cache_result_t result);
|
||||||
uint64_t items;
|
uint64_t items;
|
||||||
ss_debug(result =) pStorage->get_items(&items);
|
ss_debug(result = ) pStorage->get_items(&items);
|
||||||
ss_dassert(result == CACHE_RESULT_OK);
|
ss_dassert(result == CACHE_RESULT_OK);
|
||||||
|
|
||||||
out() << "Max count: " << max_count << ", count: " << items << "." << endl;
|
out() << "Max count: " << max_count << ", count: " << items << "." << endl;
|
||||||
@ -254,7 +254,7 @@ int TesterLRUStorage::test_max_count_and_size(size_t n_threads, size_t n_seconds
|
|||||||
}
|
}
|
||||||
|
|
||||||
uint64_t size;
|
uint64_t size;
|
||||||
ss_debug(result =) pStorage->get_size(&size);
|
ss_debug(result = ) pStorage->get_size(&size);
|
||||||
ss_dassert(result == CACHE_RESULT_OK);
|
ss_dassert(result == CACHE_RESULT_OK);
|
||||||
|
|
||||||
out() << "Max size: " << max_size << ", size: " << size << "." << endl;
|
out() << "Max size: " << max_size << ", size: " << size << "." << endl;
|
||||||
|
@ -49,7 +49,10 @@ protected:
|
|||||||
|
|
||||||
virtual void print_usage(const char* zProgram);
|
virtual void print_usage(const char* zProgram);
|
||||||
|
|
||||||
std::ostream& out() const { return m_out; }
|
std::ostream& out() const
|
||||||
|
{
|
||||||
|
return m_out;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TestStorage(const TestStorage&);
|
TestStorage(const TestStorage&);
|
||||||
|
@ -85,9 +85,11 @@ extern "C" MXS_MODULE* MXS_CREATE_MODULE()
|
|||||||
NULL, /* Thread finish. */
|
NULL, /* Thread finish. */
|
||||||
{
|
{
|
||||||
{ Config::rules_file_name, MXS_MODULE_PARAM_STRING, NULL, MXS_MODULE_OPT_REQUIRED },
|
{ Config::rules_file_name, MXS_MODULE_PARAM_STRING, NULL, MXS_MODULE_OPT_REQUIRED },
|
||||||
{ Config::warn_type_mismatch_name,
|
{
|
||||||
|
Config::warn_type_mismatch_name,
|
||||||
MXS_MODULE_PARAM_ENUM, Config::warn_type_mismatch_default,
|
MXS_MODULE_PARAM_ENUM, Config::warn_type_mismatch_default,
|
||||||
MXS_MODULE_OPT_NONE, Config::warn_type_mismatch_values },
|
MXS_MODULE_OPT_NONE, Config::warn_type_mismatch_values
|
||||||
|
},
|
||||||
{ MXS_END_MODULE_PARAMS }
|
{ MXS_END_MODULE_PARAMS }
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -39,7 +39,10 @@ public:
|
|||||||
|
|
||||||
void reload(DCB* pOut);
|
void reload(DCB* pOut);
|
||||||
|
|
||||||
const Config& config() const { return m_config; }
|
const Config& config() const
|
||||||
|
{
|
||||||
|
return m_config;
|
||||||
|
}
|
||||||
SMaskingRules rules() const;
|
SMaskingRules rules() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@ -38,12 +38,27 @@ public:
|
|||||||
{}
|
{}
|
||||||
~MaskingFilterConfig() {}
|
~MaskingFilterConfig() {}
|
||||||
|
|
||||||
const std::string& name() const { return m_name; }
|
const std::string& name() const
|
||||||
const std::string& rules_file() const { return m_rules_file; }
|
{
|
||||||
warn_type_mismatch_t warn_type_mismatch() const { return m_warn_type_mismatch; }
|
return m_name;
|
||||||
|
}
|
||||||
|
const std::string& rules_file() const
|
||||||
|
{
|
||||||
|
return m_rules_file;
|
||||||
|
}
|
||||||
|
warn_type_mismatch_t warn_type_mismatch() const
|
||||||
|
{
|
||||||
|
return m_warn_type_mismatch;
|
||||||
|
}
|
||||||
|
|
||||||
void set_rules_file(const std::string& s) { m_rules_file = s; }
|
void set_rules_file(const std::string& s)
|
||||||
void set_warn_type_mismatch(warn_type_mismatch_t w) { m_warn_type_mismatch = w; }
|
{
|
||||||
|
m_rules_file = s;
|
||||||
|
}
|
||||||
|
void set_warn_type_mismatch(warn_type_mismatch_t w)
|
||||||
|
{
|
||||||
|
m_warn_type_mismatch = w;
|
||||||
|
}
|
||||||
|
|
||||||
static warn_type_mismatch_t get_warn_type_mismatch(const CONFIG_PARAMETER* pParams);
|
static warn_type_mismatch_t get_warn_type_mismatch(const CONFIG_PARAMETER* pParams);
|
||||||
|
|
||||||
|
@ -97,11 +97,20 @@ private:
|
|||||||
return m_sRules;
|
return m_sRules;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_multi_result() const { return m_multi_result; }
|
bool is_multi_result() const
|
||||||
|
{
|
||||||
|
return m_multi_result;
|
||||||
|
}
|
||||||
|
|
||||||
uint32_t total_fields() const { return m_nTotal_fields; }
|
uint32_t total_fields() const
|
||||||
|
{
|
||||||
|
return m_nTotal_fields;
|
||||||
|
}
|
||||||
|
|
||||||
void set_total_fields(uint32_t n) { m_nTotal_fields = n; }
|
void set_total_fields(uint32_t n)
|
||||||
|
{
|
||||||
|
m_nTotal_fields = n;
|
||||||
|
}
|
||||||
|
|
||||||
bool append_type_and_rule(enum_field_types type, const MaskingRules::Rule* pRule)
|
bool append_type_and_rule(enum_field_types type, const MaskingRules::Rule* pRule)
|
||||||
{
|
{
|
||||||
|
@ -90,13 +90,34 @@ public:
|
|||||||
|
|
||||||
std::string match() const;
|
std::string match() const;
|
||||||
|
|
||||||
const std::string& column() const { return m_column; }
|
const std::string& column() const
|
||||||
const std::string& table() const { return m_table; }
|
{
|
||||||
const std::string& database() const { return m_database; }
|
return m_column;
|
||||||
const std::string& value() const { return m_value; }
|
}
|
||||||
const std::string& fill() const { return m_fill; }
|
const std::string& table() const
|
||||||
const std::vector<SAccount>& applies_to() const { return m_applies_to; }
|
{
|
||||||
const std::vector<SAccount>& exempted() const { return m_exempted; }
|
return m_table;
|
||||||
|
}
|
||||||
|
const std::string& database() const
|
||||||
|
{
|
||||||
|
return m_database;
|
||||||
|
}
|
||||||
|
const std::string& value() const
|
||||||
|
{
|
||||||
|
return m_value;
|
||||||
|
}
|
||||||
|
const std::string& fill() const
|
||||||
|
{
|
||||||
|
return m_fill;
|
||||||
|
}
|
||||||
|
const std::vector<SAccount>& applies_to() const
|
||||||
|
{
|
||||||
|
return m_applies_to;
|
||||||
|
}
|
||||||
|
const std::vector<SAccount>& exempted() const
|
||||||
|
{
|
||||||
|
return m_exempted;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create a Rule instance
|
* Create a Rule instance
|
||||||
|
@ -488,8 +488,14 @@ public:
|
|||||||
ERR_PACKET = 0xff,
|
ERR_PACKET = 0xff,
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32_t packet_len() const { return m_packet_len; }
|
uint32_t packet_len() const
|
||||||
uint8_t packet_no() const { return m_packet_no; }
|
{
|
||||||
|
return m_packet_len;
|
||||||
|
}
|
||||||
|
uint8_t packet_no() const
|
||||||
|
{
|
||||||
|
return m_packet_no;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
ComPacket(GWBUF* pPacket)
|
ComPacket(GWBUF* pPacket)
|
||||||
@ -624,7 +630,10 @@ public:
|
|||||||
++m_pData;
|
++m_pData;
|
||||||
}
|
}
|
||||||
|
|
||||||
uint8_t command() const { return m_command; }
|
uint8_t command() const
|
||||||
|
{
|
||||||
|
return m_command;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
uint8_t m_command;
|
uint8_t m_command;
|
||||||
@ -667,13 +676,34 @@ public:
|
|||||||
m_pData += 1;
|
m_pData += 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
const LEncString& catalog() const { return m_catalog; }
|
const LEncString& catalog() const
|
||||||
const LEncString& schema() const { return m_schema; }
|
{
|
||||||
const LEncString& table() const { return m_table; }
|
return m_catalog;
|
||||||
const LEncString& org_table() const { return m_org_table; }
|
}
|
||||||
const LEncString& name() const { return m_name; }
|
const LEncString& schema() const
|
||||||
const LEncString& org_name() const { return m_org_name; }
|
{
|
||||||
enum_field_types type() const { return m_type; }
|
return m_schema;
|
||||||
|
}
|
||||||
|
const LEncString& table() const
|
||||||
|
{
|
||||||
|
return m_table;
|
||||||
|
}
|
||||||
|
const LEncString& org_table() const
|
||||||
|
{
|
||||||
|
return m_org_table;
|
||||||
|
}
|
||||||
|
const LEncString& name() const
|
||||||
|
{
|
||||||
|
return m_name;
|
||||||
|
}
|
||||||
|
const LEncString& org_name() const
|
||||||
|
{
|
||||||
|
return m_org_name;
|
||||||
|
}
|
||||||
|
enum_field_types type() const
|
||||||
|
{
|
||||||
|
return m_type;
|
||||||
|
}
|
||||||
|
|
||||||
std::string to_string() const
|
std::string to_string() const
|
||||||
{
|
{
|
||||||
@ -1162,7 +1192,10 @@ public:
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
uint64_t nFields() const { return m_nFields; }
|
uint64_t nFields() const
|
||||||
|
{
|
||||||
|
return m_nFields;
|
||||||
|
}
|
||||||
|
|
||||||
private:
|
private:
|
||||||
LEncInt m_nFields;
|
LEncInt m_nFields;
|
||||||
|
@ -170,7 +170,7 @@ struct expected_account
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const size_t nExpected_accounts = (sizeof(expected_accounts)/sizeof(expected_accounts[0]));
|
const size_t nExpected_accounts = (sizeof(expected_accounts) / sizeof(expected_accounts[0]));
|
||||||
|
|
||||||
class MaskingRulesTester
|
class MaskingRulesTester
|
||||||
{
|
{
|
||||||
|
@ -906,7 +906,7 @@ static int send_upstream(MAXROWS_SESSION_DATA *csdata)
|
|||||||
static int send_ok_upstream(MAXROWS_SESSION_DATA *csdata)
|
static int send_ok_upstream(MAXROWS_SESSION_DATA *csdata)
|
||||||
{
|
{
|
||||||
/* Note: sequence id is always 01 (4th byte) */
|
/* Note: sequence id is always 01 (4th byte) */
|
||||||
uint8_t ok[MAXROWS_OK_PACKET_LEN] = {07,00,00,01,00,00,00,02,00,00,00};
|
uint8_t ok[MAXROWS_OK_PACKET_LEN] = {07, 00, 00, 01, 00, 00, 00, 02, 00, 00, 00};
|
||||||
GWBUF *packet = gwbuf_alloc(MAXROWS_OK_PACKET_LEN);
|
GWBUF *packet = gwbuf_alloc(MAXROWS_OK_PACKET_LEN);
|
||||||
uint8_t *ptr = GWBUF_DATA(packet);
|
uint8_t *ptr = GWBUF_DATA(packet);
|
||||||
memcpy(ptr, &ok, MAXROWS_OK_PACKET_LEN);
|
memcpy(ptr, &ok, MAXROWS_OK_PACKET_LEN);
|
||||||
|
@ -173,7 +173,6 @@ static void
|
|||||||
freeSession(MXS_FILTER *instance, MXS_FILTER_SESSION *session)
|
freeSession(MXS_FILTER *instance, MXS_FILTER_SESSION *session)
|
||||||
{
|
{
|
||||||
MXS_FREE(session);
|
MXS_FREE(session);
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -283,7 +283,7 @@ createInstance(const char *name, char **options, CONFIG_PARAMETER *params)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return(MXS_FILTER *)my_instance;
|
return (MXS_FILTER *)my_instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Reference in New Issue
Block a user