Roman Shmelev | 11 Oct 12:11
Picon

[Boost.Asio] asio objects: initializing after construction

Hi!
Lets assume I have some kind of map :

	map<int, boost::asio::ip::tcp::acceptor> my_acceptors;
AND	map<int, boost::asio::ip::tcp::socket>	 my_sockets;

I want to extend the maps with new objects, so what is the right way to (?):

	my_acceptors[someport_int].initialize(_my_ioservice,_my_endpoint);
	my_acceptors[another_int].initialize(_my_ioservice);

I use such code, but not sure it is right:

	{
		// initialize new acceptor
		ip::tcp::endpoint _my_endpoint(ip::tcp::v4(),port);
		ip::tcp::acceptor _acc(_my_ioservice,_my_endpoint);
		my_acceptors[someport_int] = _acc;

		// initialize new socket
		ip::tcp::socket _thesock(_my_ioservice);
		my_sockets[another_int] = _thesock;

		// asycc_accept
		my_acceptors[someport_int].async_accept(my_sockets[new_neighbour_id],boost::bind(do_AsyncAcceptHandler,this,new_neighbour_id));
	}

Thanks!

Gmane