MXS-2008 Store worker as MXB_WORKER* and not void*
This commit is contained in:
@ -195,7 +195,7 @@ private:
|
|||||||
|
|
||||||
uint32_t handle_poll_events(Worker* pWorker, uint32_t events);
|
uint32_t handle_poll_events(Worker* pWorker, uint32_t events);
|
||||||
|
|
||||||
static uint32_t poll_handler(MXB_POLL_DATA* pData, void* worker, uint32_t events);
|
static uint32_t poll_handler(MXB_POLL_DATA* pData, MXB_WORKER* worker, uint32_t events);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Handler& m_handler;
|
Handler& m_handler;
|
||||||
|
|||||||
@ -60,7 +60,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
static LocalClient* create(MYSQL_session* session, MySQLProtocol* proto, const char* ip, uint64_t port);
|
static LocalClient* create(MYSQL_session* session, MySQLProtocol* proto, const char* ip, uint64_t port);
|
||||||
LocalClient(MYSQL_session* session, MySQLProtocol* proto, int fd);
|
LocalClient(MYSQL_session* session, MySQLProtocol* proto, int fd);
|
||||||
static uint32_t poll_handler(MXB_POLL_DATA* data, void* worker, uint32_t events);
|
static uint32_t poll_handler(MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events);
|
||||||
void process(uint32_t events);
|
void process(uint32_t events);
|
||||||
GWBUF* read_complete_packet();
|
GWBUF* read_complete_packet();
|
||||||
void drain_queue();
|
void drain_queue();
|
||||||
|
|||||||
@ -471,7 +471,7 @@ protected:
|
|||||||
private:
|
private:
|
||||||
uint32_t handle(Worker* pWorker, uint32_t events);
|
uint32_t handle(Worker* pWorker, uint32_t events);
|
||||||
|
|
||||||
static uint32_t handler(MXB_POLL_DATA* pThis, void* pWorker, uint32_t events);
|
static uint32_t handler(MXB_POLL_DATA* pThis, MXB_WORKER* pWorker, uint32_t events);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int m_fd; /**< The timerfd descriptor. */
|
int m_fd; /**< The timerfd descriptor. */
|
||||||
|
|||||||
@ -43,13 +43,12 @@ typedef struct MXB_WORKER
|
|||||||
*
|
*
|
||||||
* @return A combination of mxb_poll_action_t enumeration values.
|
* @return A combination of mxb_poll_action_t enumeration values.
|
||||||
*/
|
*/
|
||||||
// TODO: Change void* to MXS_WORKER
|
typedef uint32_t (*mxb_poll_handler_t)(struct MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events);
|
||||||
typedef uint32_t (*mxb_poll_handler_t)(struct MXB_POLL_DATA* data, void* worker, uint32_t events);
|
|
||||||
|
|
||||||
typedef struct MXB_POLL_DATA
|
typedef struct MXB_POLL_DATA
|
||||||
{
|
{
|
||||||
mxb_poll_handler_t handler; /*< Handler for this particular kind of mxb_poll_data. */
|
mxb_poll_handler_t handler; /*< Handler for this particular kind of mxb_poll_data. */
|
||||||
void* owner; /*< Owning worker. */
|
MXB_WORKER* owner; /*< Owning worker. */
|
||||||
} MXB_POLL_DATA;
|
} MXB_POLL_DATA;
|
||||||
|
|
||||||
MXB_END_DECLS
|
MXB_END_DECLS
|
||||||
|
|||||||
@ -115,7 +115,7 @@ static bool dcb_add_to_worker(Worker* worker, DCB *dcb, uint32_t events);
|
|||||||
static DCB *dcb_find_free();
|
static DCB *dcb_find_free();
|
||||||
static void dcb_remove_from_list(DCB *dcb);
|
static void dcb_remove_from_list(DCB *dcb);
|
||||||
|
|
||||||
static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, void* worker, uint32_t events);
|
static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, MXB_WORKER* worker, uint32_t events);
|
||||||
static uint32_t dcb_process_poll_events(DCB *dcb, uint32_t ev);
|
static uint32_t dcb_process_poll_events(DCB *dcb, uint32_t ev);
|
||||||
static bool dcb_session_check(DCB *dcb, const char *);
|
static bool dcb_session_check(DCB *dcb, const char *);
|
||||||
static int upstream_throttle_callback(DCB *dcb, DCB_REASON reason, void *userdata);
|
static int upstream_throttle_callback(DCB *dcb, DCB_REASON reason, void *userdata);
|
||||||
@ -342,7 +342,7 @@ dcb_free_all_memory(DCB *dcb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Ensure that id is immediately the wrong one.
|
// Ensure that id is immediately the wrong one.
|
||||||
dcb->poll.owner = reinterpret_cast<void*>(0xdeadbeef);
|
dcb->poll.owner = reinterpret_cast<MXB_WORKER*>(0xdeadbeef);
|
||||||
MXS_FREE(dcb);
|
MXS_FREE(dcb);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -3186,7 +3186,7 @@ static uint32_t dcb_handler(DCB* dcb, uint32_t events)
|
|||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
||||||
static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, void* worker, uint32_t events)
|
static uint32_t dcb_poll_handler(MXB_POLL_DATA *data, MXB_WORKER* worker, uint32_t events)
|
||||||
{
|
{
|
||||||
uint32_t rval = 0;
|
uint32_t rval = 0;
|
||||||
DCB *dcb = (DCB*)data;
|
DCB *dcb = (DCB*)data;
|
||||||
@ -3409,7 +3409,7 @@ private:
|
|||||||
static bool add_fd_to_routing_workers(int fd, uint32_t events, MXB_POLL_DATA* data)
|
static bool add_fd_to_routing_workers(int fd, uint32_t events, MXB_POLL_DATA* data)
|
||||||
{
|
{
|
||||||
bool rv = true;
|
bool rv = true;
|
||||||
void* previous_owner = data->owner;
|
MXB_WORKER* previous_owner = data->owner;
|
||||||
|
|
||||||
rv = RoutingWorker::add_shared_fd(fd, events, data);
|
rv = RoutingWorker::add_shared_fd(fd, events, data);
|
||||||
|
|
||||||
|
|||||||
@ -429,7 +429,7 @@ private:
|
|||||||
|
|
||||||
void delete_zombies();
|
void delete_zombies();
|
||||||
|
|
||||||
static uint32_t epoll_instance_handler(MXB_POLL_DATA* data, void* worker, uint32_t events);
|
static uint32_t epoll_instance_handler(MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events);
|
||||||
uint32_t handle_epoll_events(uint32_t events);
|
uint32_t handle_epoll_events(uint32_t events);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@ -315,7 +315,7 @@ uint32_t MessageQueue::handle_poll_events(Worker* pWorker, uint32_t events)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//static
|
//static
|
||||||
uint32_t MessageQueue::poll_handler(MXB_POLL_DATA* pData, void* pWorker, uint32_t events)
|
uint32_t MessageQueue::poll_handler(MXB_POLL_DATA* pData, MXB_WORKER* pWorker, uint32_t events)
|
||||||
{
|
{
|
||||||
MessageQueue* pThis = static_cast<MessageQueue*>(pData);
|
MessageQueue* pThis = static_cast<MessageQueue*>(pData);
|
||||||
|
|
||||||
|
|||||||
@ -544,7 +544,7 @@ void RoutingWorker::epoll_tick()
|
|||||||
* @return What actions were performed.
|
* @return What actions were performed.
|
||||||
*/
|
*/
|
||||||
//static
|
//static
|
||||||
uint32_t RoutingWorker::epoll_instance_handler(MXB_POLL_DATA* pData, void* pWorker, uint32_t events)
|
uint32_t RoutingWorker::epoll_instance_handler(MXB_POLL_DATA* pData, MXB_WORKER* pWorker, uint32_t events)
|
||||||
{
|
{
|
||||||
RoutingWorker* pThis = static_cast<RoutingWorker*>(pData);
|
RoutingWorker* pThis = static_cast<RoutingWorker*>(pData);
|
||||||
ss_dassert(pThis == pWorker);
|
ss_dassert(pThis == pWorker);
|
||||||
|
|||||||
@ -255,7 +255,7 @@ uint32_t WorkerTimer::handle(Worker* pWorker, uint32_t events)
|
|||||||
}
|
}
|
||||||
|
|
||||||
//static
|
//static
|
||||||
uint32_t WorkerTimer::handler(MXB_POLL_DATA* pThis, void* pWorker, uint32_t events)
|
uint32_t WorkerTimer::handler(MXB_POLL_DATA* pThis, MXB_WORKER* pWorker, uint32_t events)
|
||||||
{
|
{
|
||||||
return static_cast<WorkerTimer*>(pThis)->handle(static_cast<Worker*>(pWorker), events);
|
return static_cast<WorkerTimer*>(pThis)->handle(static_cast<Worker*>(pWorker), events);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -225,7 +225,7 @@ void LocalClient::drain_queue()
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
uint32_t LocalClient::poll_handler(MXB_POLL_DATA* data, void* worker, uint32_t events)
|
uint32_t LocalClient::poll_handler(MXB_POLL_DATA* data, MXB_WORKER* worker, uint32_t events)
|
||||||
{
|
{
|
||||||
LocalClient* client = static_cast<LocalClient*>(data);
|
LocalClient* client = static_cast<LocalClient*>(data);
|
||||||
client->process(events);
|
client->process(events);
|
||||||
|
|||||||
Reference in New Issue
Block a user