$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Felipe Magno de Almeida (felipe.m.almeida_at_[hidden])
Date: 2005-08-31 01:03:07
On 8/18/05, Christopher Kohlhoff <chris_at_[hidden]> wrote:
[snip]
> I'd appreciate input on:
[snip]
>
> - Any other things that should be on the list.
>
win_iocp_operation is a base class that takes a pointer to a function
and when called(when the IO operation is completed) it executes its
pointer. The pointer is normally a static function to a derived class
that calls the apropriate handler.
There's a comment above win_iocp_operation that is this:
// Base class for all IOCP operations. A function pointer is used instead of
// virtual functions to avoid the associated overhead.
But I dont quite follow the virtual function overhead in this case. I
think that asio is reinventing the wheel and with the same overhead.
The only way to have less overhead would be to make win_iocp_operation
calls the apropriate handler directly, but I dont see that as very
possible. The derived function must do some interpretation of the
arguments before calling the handler. I think the best solution is to
make win_iocp_operation be an abstract class with a virtual function
and have the derived functions overwrite the method.
I know it is a very implementation detail that dont even add much. But
it helps a little to understand asio code and writing more code for
it.
>
> Cheers,
> Chris
>
-- Felipe Magno de Almeida Developer from synergy and Computer Science student from State University of Campinas(UNICAMP). Unicamp: http://www.ic.unicamp.br Synergy: http://www.synergy.com.br "There is no dark side of the moon really. Matter of fact it's all dark."