# Poco::Net::SocketProactor

# class IOCompletion

Library: Net
Package: Sockets
Header: Poco/Net/SocketProactor.h

## Description

IOCompletion utility class accompanies the SocketProactor and serves to execute I/O completion handlers in its own thread.

## Member Summary

Member Functions: enqueue, queueSize, start, stop, wait, wakeUp

## Constructors

### IOCompletion

IOCompletion() = delete;

### IOCompletion

explicit IOCompletion(
int maxTimeout
);

Creates IOCompletion.

## Destructor

### ~IOCompletion

~IOCompletion();

## Member Functions

### enqueue

void enqueue(
Notification::Ptr pNotification
);

Enqueues I/O completion.

### queueSize

int queueSize() const;

### start

void start();

Starts the I/O completion execution.

### stop

void stop();

Stops the I/O completion execution.

### wait

void wait();

Blocks until I/O execution completely stops.

### wakeUp

void wakeUp();

Wakes up the I/O completion execution loop.