MXS-2008 Move Worker and MessageQueue to maxbase
This commit is contained in:
@ -41,7 +41,7 @@ ThrottleSession::~ThrottleSession()
|
||||
{
|
||||
if (m_delayed_call_id)
|
||||
{
|
||||
maxscale::Worker* worker = maxscale::Worker::get_current();
|
||||
maxbase::Worker* worker = maxbase::Worker::get_current();
|
||||
ss_dassert(worker);
|
||||
worker->cancel_delayed_call(m_delayed_call_id);
|
||||
}
|
||||
@ -61,7 +61,7 @@ int ThrottleSession::real_routeQuery(GWBUF *buffer, bool is_delayed)
|
||||
{
|
||||
// delay the current routeQuery for at least one cycle at stated max speed.
|
||||
int32_t delay = 1 + std::ceil(1000.0 / m_filter.config().max_qps);
|
||||
maxscale::Worker* worker = maxscale::Worker::get_current();
|
||||
maxbase::Worker* worker = maxbase::Worker::get_current();
|
||||
ss_dassert(worker);
|
||||
m_delayed_call_id = worker->delayed_call(delay, &ThrottleSession::delayed_routeQuery,
|
||||
this, buffer);
|
||||
@ -100,19 +100,19 @@ int ThrottleSession::real_routeQuery(GWBUF *buffer, bool is_delayed)
|
||||
return mxs::FilterSession::routeQuery(buffer);
|
||||
}
|
||||
|
||||
bool ThrottleSession::delayed_routeQuery(maxscale::Worker::Call::action_t action, GWBUF *buffer)
|
||||
bool ThrottleSession::delayed_routeQuery(maxbase::Worker::Call::action_t action, GWBUF *buffer)
|
||||
{
|
||||
m_delayed_call_id = 0;
|
||||
switch (action)
|
||||
{
|
||||
case maxscale::Worker::Call::EXECUTE:
|
||||
case maxbase::Worker::Call::EXECUTE:
|
||||
if (!real_routeQuery(buffer, true))
|
||||
{
|
||||
poll_fake_hangup_event(m_pSession->client_dcb);
|
||||
}
|
||||
break;
|
||||
|
||||
case maxscale::Worker::Call::CANCEL:
|
||||
case maxbase::Worker::Call::CANCEL:
|
||||
gwbuf_free(buffer);
|
||||
break;
|
||||
}
|
||||
|
@ -12,8 +12,8 @@
|
||||
*/
|
||||
#pragma once
|
||||
|
||||
#include <maxbase/worker.hh>
|
||||
#include <maxscale/filter.hh>
|
||||
#include <maxscale/worker.hh>
|
||||
#include <maxbase/eventcount.hh>
|
||||
|
||||
namespace throttle
|
||||
@ -31,7 +31,7 @@ public:
|
||||
|
||||
int routeQuery(GWBUF* buffer);
|
||||
private:
|
||||
bool delayed_routeQuery(maxscale::Worker::Call::action_t action,
|
||||
bool delayed_routeQuery(maxbase::Worker::Call::action_t action,
|
||||
GWBUF* buffer);
|
||||
int real_routeQuery(GWBUF* buffer, bool is_delayed);
|
||||
ThrottleFilter& m_filter;
|
||||
|
Reference in New Issue
Block a user