Accept, AcceptWith -> wait parameter

WaitOnAccept
m_establishing member for correct WaitOnConnect


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@3598 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Guillermo Rodriguez Garcia
1999-09-09 22:08:31 +00:00
parent d80d1aba10
commit 35809fe3d7

View File

@@ -91,27 +91,28 @@ protected:
wxSocketEventFlags m_neededreq; // Specify which requet signals we need wxSocketEventFlags m_neededreq; // Specify which requet signals we need
wxUint32 m_lcount; // Last IO request size wxUint32 m_lcount; // Last IO request size
unsigned long m_timeout; // IO timeout value unsigned long m_timeout; // IO timeout value
char *m_unread; // Pushback buffer char *m_unread; // Pushback buffer
wxUint32 m_unrd_size; // Pushback buffer size wxUint32 m_unrd_size; // Pushback buffer size
wxUint32 m_unrd_cur; // Pushback pointer wxUint32 m_unrd_cur; // Pushback pointer
wxSockCbk m_cbk; // C callback wxSockCbk m_cbk; // C callback
char *m_cdata; // C callback data char *m_cdata; // C callback data
bool m_connected; // Connected ? bool m_connected; // Connected ?
bool m_establishing; // Pending connections?
bool m_notify_state; // Notify state bool m_notify_state; // Notify state
int m_id; // Socket id (for event handler) int m_id; // Socket id (for event handler)
// Defering variables // Defering variables
enum { enum {
DEFER_READ, DEFER_WRITE, NO_DEFER DEFER_READ, DEFER_WRITE, NO_DEFER
} m_defering; // Defering state } m_defering; // Defering state
char *m_defer_buffer; // Defering target buffer char *m_defer_buffer; // Defering target buffer
wxUint32 m_defer_nbytes; // Defering buffer size wxUint32 m_defer_nbytes; // Defering buffer size
wxTimer *m_defer_timer; // Timer for defering mode wxTimer *m_defer_timer; // Timer for defering mode
wxList m_states; // Stack of states wxList m_states; // Stack of states
public: public:
wxSocketBase(); wxSocketBase();
@@ -127,7 +128,7 @@ public:
wxSocketBase& WriteMsg(const char *buffer, wxUint32 nbytes); wxSocketBase& WriteMsg(const char *buffer, wxUint32 nbytes);
void Discard(); void Discard();
// Try not to use this two methods (they sould be protected) // Try not to use these two methods (they sould be protected)
void CreatePushbackAfter(const char *buffer, wxUint32 size); void CreatePushbackAfter(const char *buffer, wxUint32 size);
void CreatePushbackBefore(const char *buffer, wxUint32 size); void CreatePushbackBefore(const char *buffer, wxUint32 size);
@@ -148,8 +149,8 @@ public:
void SetTimeout(unsigned long sec); void SetTimeout(unsigned long sec);
// seconds = -1 means infinite wait // seconds = -1 means infinite wait
// seconds = 0 means no wait // seconds, milliseconds = 0 means no wait
// seconds > 0 means specified wait // seconds, milliseconds > 0 means specified wait
bool Wait(long seconds = -1, long milliseconds = 0); bool Wait(long seconds = -1, long milliseconds = 0);
bool WaitForRead(long seconds = -1, long milliseconds = 0); bool WaitForRead(long seconds = -1, long milliseconds = 0);
bool WaitForWrite(long seconds = -1, long milliseconds = 0); bool WaitForWrite(long seconds = -1, long milliseconds = 0);
@@ -221,8 +222,10 @@ public:
wxSocketServer(wxSockAddress& addr_man, wxSockFlags flags = wxSocketBase::NONE); wxSocketServer(wxSockAddress& addr_man, wxSockFlags flags = wxSocketBase::NONE);
wxSocketBase* Accept(); wxSocketBase* Accept(bool wait = TRUE);
bool AcceptWith(wxSocketBase& sock); bool AcceptWith(wxSocketBase& sock, bool wait = TRUE);
bool WaitOnAccept(long seconds = -1, long milliseconds = 0);
}; };
//////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////