typedef struct WebsSocket {
WebsBuf lineBuf; /**< Line ring queue */
SocketAccept accept; /**< Accept handler */
SocketHandler handler; /**< User I/O handler */
char* ip; /**< Server listen address or remote client address */
void* handler_data; /**< User handler data */
int handlerMask; /**< Handler events of interest */
int sid; /**< Index into socket[] */
int port; /**< Port to listen on */
int flags; /**< Current state flags */
Socket sock; /**< Actual socket handle */
int fileHandle; /**< ID of the file handler */
int interestEvents; /**< Mask of events to watch for */
int currentEvents; /**< Mask of ready events (FD_xx) */
int selectEvents; /**< Events being selected */
int saveMask; /**< saved Mask for socketFlush */
int error; /**< Last error */
int secure; /**< Socket is using SSL */
int handshakes; /**< Number of renegotiations */
} WebsSocket;