From c6ce58b302950c743bbbcbc38da4ecf33721f82b Mon Sep 17 00:00:00 2001 From: "Nicolas \"Pixel\" Noble" Date: Sun, 22 Dec 2013 12:48:47 -0800 Subject: Actually supporting client/server enforcements, as well as ping. --- includes/BWebSocket.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'includes/BWebSocket.h') diff --git a/includes/BWebSocket.h b/includes/BWebSocket.h index 49f8cd1..cf25684 100644 --- a/includes/BWebSocket.h +++ b/includes/BWebSocket.h @@ -30,17 +30,19 @@ class WebSocketWorker : public StacklessTask { public: virtual bool parse(Http::Request & req) { return true; } void sendFrame(WebSocketFrame * frame) { m_sendQueue.push(frame); } + void enforceServer(void) throw (GeneralException); + void enforceClient(void) throw (GeneralException); protected: WebSocketWorker(IO socket, const String & url) : m_socket(new BStream(socket)) { m_name = String("WebSocket:") + url + ":" + m_socket->getName(); } ~WebSocketWorker(); void disconnect() { m_socket->close(); } virtual void receiveMessage(const uint8_t * msg, size_t len, bool binary) = 0; - private: + virtual void Do(); +private: void processMessage(); void processPing(); void processPong(); - const char * getName() const { return m_name.to_charp(); } - void Do(); + virtual const char * getName() const { return m_name.to_charp(); } String m_name; IO m_socket; enum { -- cgit v1.2.3