KILL [CONNECTION | QUERY] support, part2B

Various small changes to part2, as suggested by comments and otherwise.
Mostly renaming, working logic should not change.

Exception: session id changed to 64bit in the container and associated
functions. Another commit will change it to 64bit in the session itself.
This commit is contained in:
Esa Korhonen
2017-05-04 17:51:10 +03:00
parent 17f6e94cba
commit ee20191645
6 changed files with 84 additions and 68 deletions

View File

@ -712,47 +712,43 @@ size_t mxs_worker_broadcast_message(uint32_t msg_id, intptr_t arg1, intptr_t arg
return Worker::broadcast_message(msg_id, arg1, arg2);
}
bool mxs_add_to_session_map(uint32_t id, MXS_SESSION* session)
bool mxs_worker_register_session(MXS_SESSION* session)
{
bool rval = false;
Worker* worker = Worker::get_current();
if (worker)
{
rval = worker->add_to_session_map(id, session);
}
return rval;
ss_dassert(worker);
return worker->register_session(session);
}
MXS_SESSION* mxs_remove_from_session_map(uint32_t id)
MXS_SESSION* mxs_worker_deregister_session(uint64_t id)
{
MXS_SESSION* rval = NULL;
Worker* worker = Worker::get_current();
if (worker)
{
rval = worker->remove_from_session_map(id);
rval = worker->deregister_session(id);
}
return rval;
}
MXS_SESSION* mxs_find_in_session_map(uint32_t id)
MXS_SESSION* mxs_worker_find_session(uint64_t id)
{
MXS_SESSION* rval = NULL;
Worker* worker = Worker::get_current();
if (worker)
{
rval = worker->find_in_session_map(id);
rval = worker->find_session(id);
}
return rval;
}
bool Worker::add_to_session_map(SessionsById::key_type id, SessionsById::mapped_type session)
bool Worker::register_session(MXS_SESSION* session)
{
return m_sessions.insert(SessionsById::value_type(id, session)).second;
return m_sessions.insert(SessionsById::value_type(session->ses_id, session)).second;
}
Worker::SessionsById::mapped_type Worker::remove_from_session_map(SessionsById::key_type id)
MXS_SESSION* Worker::deregister_session(uint64_t id)
{
Worker::SessionsById::mapped_type rval = find_in_session_map(id);
MXS_SESSION* rval = find_session(id);
if (rval)
{
m_sessions.erase(id);
@ -760,9 +756,9 @@ Worker::SessionsById::mapped_type Worker::remove_from_session_map(SessionsById::
return rval;
}
Worker::SessionsById::mapped_type Worker::find_in_session_map(SessionsById::key_type id)
MXS_SESSION* Worker::find_session(uint64_t id)
{
Worker::SessionsById::mapped_type rval = NULL;
MXS_SESSION* rval = NULL;
SessionsById::const_iterator iter = m_sessions.find(id);
if (iter != m_sessions.end())
{