completion_handler pour async_xx
Bonjour,
J'ai une classe X avec deux fonctions membres qui marchent comme suit :
Code:
1 2 3 4 5 6 7 8 9 10
| void X::parse ( /* Que mettre ici ? */)
{
/* ... */
X::start_reading();
}
void X::start_reading ()
{
asio::async_read_until (*_socket, _buffer, '\0', completion_handler); // J'aimerais remplacer completion_handler par X::parse
// buffer de type asio::streambuf
} |
J'aimerais savoir plusieurs chose :
- De quelle façon dois-je présenter mon 'completion_handler' dans async_read_until ? J'ai essayé diverses choses mais je n'ai rien trouvé de concluant qui ne me donne pas de message d'erreur à la compilation. (Je suppose l'utilisation de boost::bind mais de même je n'ai pas trouvé l'utilisation adéquate ...)
- Y a-t-il des paramètres obligatoires à fournir pour X::parse ? Dois-je les indiquer dans mon completion_handler ? (J'ai parfois vu des exemples montrant que non mais je ne sais pas si ça s'applique à mon cas.)
- Je ne connais pas par avance la taille de ce que je vais lire. Quel est le buffer le plus adapté dans ce cas-là ?
Je vous remercie d'avance.