Como criar um soquete Boost.Asio de um soquete nativo?

Estou apenas tentando criar um impulsoip::tcp::socket de um soquete nativo existente. Noatribuir função, o primeiro parâmetro deve ser um "protocol_type" e o segundo deve ser um "native_type", mas nunca explica o que é ou dá um exemplo de seu uso.

Eu estou supondo que o segundo deve ser o descritor de soquete, mas eu realmente aprecio o esclarecimento.

void SendData (int socket, std::string message)
{
    boost::asio::io_service ioserv;
    boost::asio::ip::tcp::socket s(ioserv);
    s.assign(/* what goes here? */, /* ..and here? */);
    s.send(boost::asio::buffer(message));
}

questionAnswers(1)

yourAnswerToTheQuestion