A timeout for the class.
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_OFTPCLIENT_TIMEOUT 40 IPWORKSEDI_EXTERNAL void* IPWORKSEDI_CALL IPWorksEDI_OFTPClient_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal); IPWORKSEDI_EXTERNAL int IPWORKSEDI_CALL IPWorksEDI_OFTPClient_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);
If the Timeout property is set to 0, all operations return immediately, potentially failing with a WOULDBLOCK error if data cannot be sent immediately.
If Timeout is set to a positive value, data is sent in a blocking manner and the class will wait for the operation to complete before returning control. The class will handle any potential WOULDBLOCK errors internally and automatically retry the operation 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 60 seconds.