Go to the source code of this file.
Defines | |
| #define | CLIENTONLY(x) |
| #define | DEVICEONLY(x) |
THREAD_IDLE_TIME | |
The { THREAD_IDLE_TIME} constant determines when a thread will be removed from the thread pool and returned to the operating system. When a thread in the thread pool has been idle for this number of milliseconds the thread will be released from the thread pool. The default value is 5000 milliseconds (5 seconds). | |
| #define | THREAD_IDLE_TIME 30000 |
JOBS_PER_THREAD | |
The { JOBS_PER_THREAD} constant determines when a new thread will be allocated to the thread pool inside the SDK. The thread pool will try and maintain this jobs/thread ratio. When the jobs/thread ratio becomes greater than this, then a new thread (up to the max) will be allocated to the thread pool. The default ratio is 10 jobs/thread. | |
| #define | JOBS_PER_THREAD 1 |
MIN_THREADS | |
The { MIN_THREADS} constant defines the minimum number of threads the thread pool inside the SDK will create. The thread pool will always have this number of threads. These threads are used for both callbacks into applications built on top of the SDK and also for making connections to other control points and devices. This number includes persistent threads. The default value is two threads. | |
| #define | MIN_THREADS 2 |
MAX_THREADS | |
The { MAX_THREADS} constant defines the maximum number of threads the thread pool inside the SDK will create. These threads are used for both callbacks into applications built on top of the library and also for making connections to other control points and devices. It is not recommended that this value be below 10, since the threads are necessary for correct operation. This value can be increased for greater performance in operation at the expense of greater memory overhead. The default value is 12. | |
| #define | MAX_THREADS 12 |
MAX_JOBS_TOTAL | |
| #define | MAX_JOBS_TOTAL 100 |
DEFAULT_SOAP_CONTENT_LENGTH | |
SOAP messages will read at most { DEFAULT_SOAP_CONTENT_LENGTH} bytes. This prevents devices that have a misbehaving web server to send a large amount of data to the control point causing it to crash. This can be adjusted dynamically with { UpnpSetMaxContentLength}. | |
| #define | DEFAULT_SOAP_CONTENT_LENGTH 16000 |
NUM_SSDP_COPY | |
| #define | NUM_SSDP_COPY 2 |
SSDP_PAUSE | |
| #define | SSDP_PAUSE 100 |
WEB_SERVER_BUF_SIZE | |
| #define | WEB_SERVER_BUF_SIZE (1024*1024) |
AUTO_RENEW_TIME | |
The { AUTO_RENEW_TIME} is the time, in seconds, before a subscription expires that the SDK automatically resubscribes. The default value is 10 seconds. Setting this value too low can result in the subscription renewal not making it to the device in time, causing the subscription to timeout. In order to avoid continually resubscribing the minimum subscription time is five seconds more than the auto renew time. | |
| #define | AUTO_RENEW_TIME 10 |
CP_MINIMUM_SUBSCRIPTION_TIME | |
| #define | CP_MINIMUM_SUBSCRIPTION_TIME (AUTO_RENEW_TIME + 5) |
MAX_SEARCH_TIME | |
| #define | MAX_SEARCH_TIME 80 |
MIN_SEARCH_TIME | |
| #define | MIN_SEARCH_TIME 2 |
AUTO_ADVERTISEMENT_TIME | |
| #define | AUTO_ADVERTISEMENT_TIME 30 |
SSDP_PACKET_DISTRIBUTE | |
The { SSDP_PACKET_DISTRIBUTE} enables the SSDP packets to be sent at an interval equal to half of the expiration time of SSDP packets minus the AUTO_ADVERTISEMENT_TIME. This is used to increase the probability of SSDP packets reaching to control points. It is recommended that this flag be turned on for embedded wireless devices. | |
| #define | SSDP_PACKET_DISTRIBUTE 1 |
WEB_SERVER_BLOCK_TIMEOUT | |
When requewsting a blocking select we still will not fully block but timeout on { WEB_SERVER_BLOCK_TIMEOUT} and check if the global shutdown flag was set. This ensures that we can always cleanly shutdown the server, and that UpnpFinish() will never hang waiting for threads which may be blocked by select() The default time is 3 seconds. | |
| #define | WEB_SERVER_BLOCK_TIMEOUT 3 |
Module Exclusion | |
Depending on the requirements, the user can selectively discard any of the major modules like SOAP, GENA, SSDP or the Internal web server. By default everything is included inside the SDK. By setting any of the values below to 0, that component will not be included in the final SDK. {itemize} { EXCLUDE_SOAP[0,1]} { EXCLUDE_GENA[0,1]} { EXCLUDE_SSDP[0,1]} { EXCLUDE_DOM [0,1]} { EXCLUDE_MINISERVER[0,1]} { EXCLUDE_WEB_SERVER[0,1]} { EXCLUDE_JNI[0,1]} {itemize} | |
| #define | EXCLUDE_SSDP 0 |
| #define | EXCLUDE_SOAP 0 |
| #define | EXCLUDE_GENA 0 |
| #define | EXCLUDE_DOM 0 |
| #define | EXCLUDE_MINISERVER 0 |
| #define | EXCLUDE_WEB_SERVER 0 |
| #define | EXCLUDE_JNI 1 |
| #define | EXCLUDE_WEB_SERVER 1 |
| #define | EXCLUDE_MINISERVER 1 |
| #define | EXCLUDE_MINISERVER 0 |
DEBUG_TARGET | |
| #define | DEBUG_TARGET 1 |
Other debugging features | |
| #define | DEBUG_ALL 1 |
| #define | DEBUG_SSDP 0 |
| #define | DEBUG_SOAP 0 |
| #define | DEBUG_GENA 0 |
| #define | DEBUG_TPOOL 0 |
| #define | DEBUG_MSERV 0 |
| #define | DEBUG_DOM 0 |
| #define | DEBUG_HTTP 0 |
| #define | DEBUG_API 0 |
DBGONLY | |
| #define | DBGONLY(x) |
1.6.1