My Project
WebSocketWriter.h
1 #pragma once
2 #include "WebSocketCommon.h"
3 #include "ByteBuffer.h"
4 #include "WebSocketFrame.h"
5 namespace NPL
6 {
7  namespace WebSocket
8  {
10  {
11  public:
13  ~WebSocketWriter();
14 
15  bool isRsv1InUse() { return (flagsInUse & 0x40) != 0; };
16  bool isRsv2InUse() { return (flagsInUse & 0x20) != 0; };
17  bool isRsv3InUse() { return (flagsInUse & 0x10) != 0; };
18 
19  void setRsv1InUse(bool rsv1InUse) {
20  flagsInUse = (byte)((flagsInUse & 0xBF) | (rsv1InUse ? 0x40 : 0x00));
21  };
22  void setRsv2InUse(bool rsv2InUse) {
23  flagsInUse = (byte)((flagsInUse & 0xDF) | (rsv2InUse ? 0x20 : 0x00));
24  };
25  void setRsv3InUse(bool rsv3InUse) {
26  flagsInUse = (byte)((flagsInUse & 0xEF) | (rsv3InUse ? 0x10 : 0x00));
27  };
28  void assertFrameValid(WebSocketFrame& frame);
29  void generateHeaderBytes(WebSocketFrame& frame, ByteBuffer& buffer);
30  void generateWholeFrame(WebSocketFrame& frame, ByteBuffer& buffer);
31 
32  void generate(const char * code, int nLength, std::vector<byte>& outData);
33  void reset();
34  private:
45  byte flagsInUse;
46  WebSocketFrame frame;
47  WebSocket::ByteBuffer input_buff;
48  WebSocket::ByteBuffer out_buff;
49  };
50  }
51 }
define this to enable debugging of NPL code in visual studio
Definition: INPL.h:9
Definition: ByteBuffer.h:47
Definition: WebSocketFrame.h:11
Definition: inftrees.h:24
Definition: WebSocketWriter.h:9