- enum {
- NONE = wxSOCKET_NONE,
- NOWAIT = wxSOCKET_NOWAIT,
- WAITALL = wxSOCKET_WAITALL,
- SPEED = wxSOCKET_BLOCK
- };
-
- // Type of request
- typedef int wxSockFlags;
-
- enum wxSockType { SOCK_CLIENT, SOCK_SERVER, SOCK_INTERNAL, SOCK_UNINIT };
- typedef void (*wxSockCbk)(wxSocketBase& sock, wxSocketNotify evt, char *cdata);
-
-protected:
- GSocket *m_socket; // GSocket
- int m_id; // Socket id (for event handler)
-
- // Attributes
- wxSockFlags m_flags; // wxSocket flags
- wxSockType m_type; // wxSocket type
- wxSocketEventFlags m_neededreq; // Event mask
- bool m_notify_state; // Notify events to users?
- bool m_connected; // Connected ?
- bool m_establishing; // Establishing connection ?
- bool m_reading; // Busy reading?
- bool m_writing; // Busy writing?
- bool m_error; // Did last IO call fail ?
- wxUint32 m_lcount; // Last IO transaction size
- unsigned long m_timeout; // IO timeout value
- wxList m_states; // Stack of states
-
- char *m_unread; // Pushback buffer
- wxUint32 m_unrd_size; // Pushback buffer size
- wxUint32 m_unrd_cur; // Pushback pointer (index into buffer)
-
- // Async IO variables
- enum
- {
- NO_DEFER = 0,
- DEFER_READ = 1,
- DEFER_WRITE = 2
- } m_defering; // Defering state
- char *m_defer_buffer; // Defering target buffer
- wxUint32 m_defer_nbytes; // Defering buffer size
- wxTimer *m_defer_timer; // Timer for defering mode
-
-/*
- char *m_read_buffer; // Target buffer (read)
- char *m_write_buffer; // Target buffer (write)
- wxUint32 m_read_nbytes; // Buffer size (read)
- wxUint32 m_write_nbytes; // Buffer size (write)
- wxTimer *m_read_timer; // Timer (read)
- wxTimer *m_write_timer; // Timer (write)
-*/