My Project
WebSocketReader.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  ~WebSocketReader();
14  bool parse(ByteBuffer& buffer);
15  bool parseFrame(ByteBuffer& buffer);
16 
17  // append buffer to frame
18  bool append(ByteBuffer& buffer);
19 
20  bool isRsv1InUse() { return (flagsInUse & 0x40) != 0; };
21  bool isRsv2InUse() { return (flagsInUse & 0x20) != 0; };
22  bool isRsv3InUse() { return (flagsInUse & 0x10) != 0; };
23 
24  static ByteBuffer load(Buffer_Type* buffer, int bytes_transferred);
25 
26 
27  WebSocketFrame* getFrame();
28  ComingMsgState getState() {
29  return frameState;
30  };
31  void reset();
32  private:
33  void assertSanePayloadLength(int length);
34  private:
35  ByteBuffer payload;
36  int payloadLength;
37  int cursor;
38  State state;
39 
50  byte flagsInUse;
51  WebSocketFrame* frame;
52 
53  ComingMsgState frameState;
54  };
55  }
56 }
define this to enable debugging of NPL code in visual studio
Definition: INPL.h:9
Definition: ByteBuffer.h:47
Definition: WebSocketFrame.h:11
Definition: WebSocketReader.h:9