-// defining and initializing static members
-boost::mutex yp2::Session::m_mutex;
-unsigned long int yp2::Session::m_global_id = 0;
+ template <class T> class session_map {
+ public:
+ void create(T &t, const yp2::Session &s) {
+ boost::mutex::scoped_lock lock(m_mutex);
+ m_map[s] = t;
+ };
+ void release(const yp2::Session &s) {
+ boost::mutex::scoped_lock lock(m_mutex);