# Poco::Net

# class TCPServerParams

Library: Net
Package: TCPServer
Header: Poco/Net/TCPServerParams.h

## Description

This class is used to specify parameters to both the TCPServer, as well as to TCPServerDispatcher objects.

Subclasses may add new parameters to the class.

## Inheritance

Direct Base Classes: Poco::RefCountedObject

All Base Classes: Poco::RefCountedObject

Known Derived Classes: HTTPServerParams

## Member Summary

Member Functions: getAcceptorNum, getMaxQueued, getMaxThreads, getReactorMode, getThreadIdleTime, getThreadPriority, getUseSelfReactor, setAcceptorNum, setMaxQueued, setMaxThreads, setReactorMode, setThreadIdleTime, setThreadPriority, setUseSelfReactor

Inherited Functions: duplicate, referenceCount, release

## Types Aliases

### Ptr

using Ptr = Poco::AutoPtr < TCPServerParams >;

## Constructors

### TCPServerParams

TCPServerParams();

Creates the TCPServerParams.

Sets the following default values:

- threadIdleTime: 10 seconds
- maxThreads: 0
- maxQueued: 64

## Destructor

### ~TCPServerParams

virtual ~TCPServerParams();

Destroys the TCPServerParams.

## Member Functions

### getAcceptorNum

int getAcceptorNum() const;

Returns the number of acceptors.

### getMaxQueued

int getMaxQueued() const;

Returns the maximum number of queued connections.

### getMaxThreads

int getMaxThreads() const;

Returns the maximum number of simultaneous threads available for this TCPServerDispatcher.

### getReactorMode

bool getReactorMode() const;

Returns the reactor mode.

If true, use reactor mode, else use thread pool mode.

### getThreadIdleTime

const Poco::Timespan & getThreadIdleTime() const;

Returns the maximum thread idle time.

### getThreadPriority

Poco::Thread::Priority getThreadPriority() const;

Returns the priority of TCP server threads created by TCPServer.

### getUseSelfReactor

bool getUseSelfReactor() const;

Returns true if acceptor's self reactor is used.

### setAcceptorNum

void setAcceptorNum(
int acceptorNum
);

Sets the number of acceptors.

The number of acceptors must be greater than 0. The default is 1.

### setMaxQueued

void setMaxQueued(
int count
);

Sets the maximum number of queued connections. Must be greater than 0.

If there are already the maximum number of connections in the queue, new connections will be silently discarded.

The default number is 64.

### setMaxThreads

void setMaxThreads(
int count
);

Sets the maximum number of simultaneous threads available for this TCPServerDispatcher.

Must be greater than or equal to 0. If 0 is specified, the TCPServerDispatcher will set this parameter to the number of available threads in its thread pool.

The thread pool used by the TCPServerDispatcher must at least have the capacity for the given number of threads.

### setReactorMode

void setReactorMode(
bool reactorMode
);

Sets the reactor mode.

If true, use reactor mode, else use thread pool mode.

### setThreadIdleTime

void setThreadIdleTime(
const Poco::Timespan & idleTime
);

Sets the maximum idle time for a thread before it is terminated.

The default idle time is 10 seconds;

### setThreadPriority

void setThreadPriority(
Poco::Thread::Priority prio
);

Sets the priority of TCP server threads created by TCPServer.

### setUseSelfReactor

void setUseSelfReactor(
bool useSelfReactor
);

Sets the acceptor's self reactor.

If true, use acceptor's self reactor, else create {_maxThreads} threads to use