Re: [Asio-samples-users] добавление API записи чтения в echo_server
Status: Beta
Brought to you by:
mabrarov
From: Marat A. <ab...@gm...> - 2012-05-07 15:38:08
|
> давайте попробуем на конкретном примере... > к примеру, я хочу добавить api чтения: void user_read(???); > вопросы: > 1. аргументом указывать только размер? или размер и буфер в который > читать? (callback - само собой) Это "API" наподобие session::async_start/async_wait/async_stop или что-то внутреннее для расширения session? Для внутренних частей неплохо бы обойтись без callback-ов - они добавляют сложности коду и overhead для runtime. > 2. насколько я понимаю, user_read() не создает нового состояния КА, он > просто должен устанавливать session::read_state в in_progress ? Не создает - да. Но session::read_state_ в in_progress устанавливает только (!) start_socket_read. Скорее user_read должен проверять read_state_ и, если read_state_ == read_state::wait, вызывать start_socket_read. > 3. с записью - так же, user_write() не создает нового состояния КА, он > должен устанавливать session::write_state в in_progress ? Здесь аналогично. Остается неясным, кто и когда будет вызывать user_read/user_write. Regards, Marat Abrarov. |