| 220 | }; |
| 221 | |
| 222 | DisplayDriverServer::DisplayDriverServer( DisplayDriverServer::Port portNumber ) : |
| 223 | m_data( nullptr ) |
| 224 | { |
| 225 | m_data = new DisplayDriverServer::PrivateData( portNumber ); |
| 226 | |
| 227 | DisplayDriverServer::SessionPtr newSession( new DisplayDriverServer::Session( m_data->m_service, m_data->m_mergeMap ) ); |
| 228 | m_data->m_acceptor.async_accept( newSession->socket(), |
| 229 | boost::bind( &DisplayDriverServer::handleAccept, this, newSession, |
| 230 | boost::asio::placeholders::error)); |
| 231 | fixSocketFlags( m_data->m_acceptor.native_handle() ); |
| 232 | std::thread newThread( boost::bind(&DisplayDriverServer::serverThread, this) ); |
| 233 | m_data->m_thread.swap( newThread ); |
| 234 | } |
| 235 | |
| 236 | DisplayDriverServer::~DisplayDriverServer() |
| 237 | { |