Timeout Property

A timeout for the class.

Syntax

ANSI (Cross Platform)
int GetTimeout();
int SetTimeout(int iTimeout); Unicode (Windows) INT GetTimeout();
INT SetTimeout(INT iTimeout);
@property (nonatomic,readwrite,assign,getter=timeout,setter=setTimeout:) int timeout;
- (int)timeout;
- (void)setTimeout:(int)newTimeout;
#define PID_ICMPPORT_TIMEOUT 9

IPWORKS_EXTERNAL void* IPWORKS_CALL IPWorks_ICMPPort_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal);
IPWORKS_EXTERNAL int IPWORKS_CALL IPWorks_ICMPPort_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);

Default Value

0

Remarks

If the Timeout property is set to 0, all operations return immediately, potentially failing with an 'WOULDBLOCK' error if data can't be sent or received immediately.

If Timeout is set to a positive value, the class will automatically retry each operation that would otherwise result in a 'WOULDBLOCK' error for a maximum of Timeout seconds.

The class will use DoEvents to enter an efficient wait loop during any potential waiting period, making sure that all system events are processed immediately as they arrive. This ensures that the host application does not "freeze" and remains responsive.

If Timeout expires, and the operation is not yet complete, the class fails with an error.

Please note that by default, all timeouts are inactivity timeouts, i.e. the timeout period is extended by Timeout seconds when any amount of data is successfully sent or received.

The default value for the Timeout property is 0 (asynchronous operation).

Data Type

Integer

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks 2020 C++ Edition - Version 20.0 [Build 8307]