Main Page Modules Class Hierarchy Data Structures File List Data Fields Globals Related Pages

# oscl_socket_tuneables.h File Reference

`#include "osclconfig_io.h"`
`#include "osclconfig_proc.h"`

Go to the source code of this file.

## Defines
#define | PV_SOCKET_REQUEST_AO_PRIORITY OsclActiveObject::EPriorityNominal
#define | PV_OSCL_SOCKET_STATS_LOGGING 0
#define | PV_SOCKET_SERVER 1
#define | PV_SOCKET_SERVER_IS_THREAD OSCL_HAS_THREAD_SUPPORT
#define | PV_SOCKET_SERVER_SELECT 0
#define | PV_SOCKET_SERVER_THREAD_PRIORITY ThreadPriorityAboveNormal
#define | PV_SOCKET_SERVER_SELECT_TIMEOUT_MSEC (-1)
#define | PV_SOCKET_SERVER_SELECT_LOOPBACK_SOCKET 0
#define | PV_SOCKET_SERVER_AO_PRIORITY (OsclActiveObject::EPriorityNominal)
#define | PV_SOCKET_SERVER_AO_INTERVAL_MSEC 5
#define | PV_OSCL_SOCKET_SERVER_LOGGER_OUTPUT 0
#define | PV_OSCL_SOCKET_1MB_RECV_BUF 0
#define | PV_SOCKET_SERVI_STATS 0

## Define Documentation

#define PV_OSCL_SOCKET_1MB_RECV_BUF 0

| Set this to 0 or 1 to enable/disable setting the socket receive buffer size to 1 MB in the Bind call. This setting only affects PV socket server implementations. When set to 1, the code will use the OsclSetRecvBufferSize macro to set the buffer size in the Bind call. This setting was found to improve streaming performance on WinMobile devices, but should not generally be used.

#define PV_OSCL_SOCKET_SERVER_LOGGER_OUTPUT 0

| Set this to 0 or 1 to enable/disable PVLogger output from PV socket server. Note that socket server logging will appear in a different file when running threaded mode of socket server. This is quite a bit of logging, so it should generally be disabled.

#define PV_OSCL_SOCKET_STATS_LOGGING 0

| Set this to 0 or 1 to enable/disable socket stats logging with "OsclSocketStats" node. This feature is fairly costly so should be off in production code.

#define PV_SOCKET_REQUEST_AO_PRIORITY OsclActiveObject::EPriorityNominal

| PV_SOCKET_REQUEST_AO_PRIORITY sets the priority of the socket request completion AOs.

#define PV_SOCKET_SERVER 1

| Enable/disable the PV socket server here.

#define PV_SOCKET_SERVER_AO_INTERVAL_MSEC 5

| PV_SOCKET_SERVER_AO_INTERVAL_MSEC sets the AO scheduling interval of the PV socket server AO for non-threaded implementations.

#define PV_SOCKET_SERVER_AO_PRIORITY (OsclActiveObject::EPriorityNominal)

| PV_SOCKET_SERVER_AO_PRIORITY sets priority of the PV socket server AO for non-threaded implementations.

#define PV_SOCKET_SERVER_IS_THREAD OSCL_HAS_THREAD_SUPPORT

| PV_SOCKET_SERVER_IS_THREAD chooses either the threaded or AO-based implementation of the PV socket server

#define PV_SOCKET_SERVER_SELECT 0

| PV_SOCKET_SERVER_SELECT chooses whether to use "select" call or not. In threaded mode, select call is required and is forced to "1". In AO mode, "select" call is an option that defaults to "0". Avoiding any "select" call was found to greatly reduce CPU usage on WinMobile devices.

#define PV_SOCKET_SERVER_SELECT_LOOPBACK_SOCKET 0

| PV_SOCKET_SERVER_SELECT_LOOPBACK_SOCKET enables the feature to wakeup the select call by writing to a loopback socket each time a new request comes in. This option is required to support the blocking select loop option of threaded server mode. This option is forced to "0" in AO mode.

#define PV_SOCKET_SERVER_SELECT_TIMEOUT_MSEC (-1)

| PV_SOCKET_SERVER_SELECT_TIMEOUT_MSEC sets duration of the select call in the PV socket server thread for the polling select loop implementation. When the timeout is -1, the select call will block forever waiting on a new request and will use a loopback socket to signal a new request. Note: if infinite wait is selected, but loopback socket is not available, the implementation will poll at 10 msec intervals.

#define PV_SOCKET_SERVER_THREAD_PRIORITY ThreadPriorityAboveNormal

| PV_SOCKET_SERVER_THREAD_PRIORITY sets the priority of the PV socket server thread.

#define PV_SOCKET_SERVI_STATS 0

| For detailed performance breakdown of time spend in OsclSocketServI AO. Output is logged under "OsclSchedulerPerfStats" node. Should be off in production code. This option is forced to "0" in threaded mode.