25.07.2014 Views

Asynchronous Completion Token - Ingeniørhøjskolen i Århus

Asynchronous Completion Token - Ingeniørhøjskolen i Århus

Asynchronous Completion Token - Ingeniørhøjskolen i Århus

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6.1 Win32_Proactor_Implementation<br />

void Win32_Proactor_Implementation::handle_events(<br />

Time_value *wait_time) {<br />

u_long num_bytes;<br />

OVERLAPPED *act;<br />

Bool status= GetQueued<strong>Completion</strong>Status(completion_port_,<br />

&num_bytes, 0, &act, wait_time ==0 ? 0 : wait_time->msec());<br />

}<br />

Async_Result *async_result= static_cast (act);<br />

async_result->status(status);<br />

if (status)<br />

async_result->bytes_transferred(num_bytes);<br />

else<br />

async_result->error(GetLastError());<br />

async_result->complete();<br />

delete async_result;<br />

(from proactor presentation)<br />

© <strong>Ingeniørhøjskolen</strong> i <strong>Århus</strong><br />

Slide 12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!