ESP32 HTTPS Server
WebsocketInputStreambuf.hpp
1
#ifndef SRC_WEBSOCKETINPUTSTREAMBUF_HPP_
2
#define SRC_WEBSOCKETINPUTSTREAMBUF_HPP_
3
4
#include <Arduino.h>
5
#include <lwip/def.h>
6
7
#include <string>
8
#undef min
9
#undef max
10
#include <iostream>
11
#include <streambuf>
12
#include <sstream>
13
14
#include <iostream>
15
16
#include "HTTPSServerConstants.hpp"
17
#include "ConnectionContext.hpp"
18
19
namespace
httpsserver
{
20
21
class
WebsocketInputStreambuf
:
public
std::streambuf {
22
public
:
23
WebsocketInputStreambuf
(
24
ConnectionContext
*con,
25
size_t
dataLength,
26
uint8_t *_ =
nullptr
,
27
size_t
bufferSize = 2048
28
);
29
virtual
~
WebsocketInputStreambuf
();
30
31
int_type
underflow
();
32
void
discard
();
33
size_t
getRecordSize
();
34
35
private
:
36
char
*_buffer;
37
ConnectionContext
*_con;
38
size_t
_dataLength;
39
size_t
_bufferSize;
40
size_t
_sizeRead;
41
uint8_t *_pMask;
42
43
};
44
45
}
// namespace
46
47
#endif
httpsserver::WebsocketInputStreambuf::WebsocketInputStreambuf
WebsocketInputStreambuf(ConnectionContext *con, size_t dataLength, uint8_t *_=nullptr, size_t bufferSize=2048)
Create a Web Socket input record streambuf.
Definition:
WebsocketInputStreambuf.cpp:10
httpsserver::WebsocketInputStreambuf::getRecordSize
size_t getRecordSize()
Get the size of the expected record.
Definition:
WebsocketInputStreambuf.cpp:60
httpsserver::WebsocketInputStreambuf
Definition:
WebsocketInputStreambuf.hpp:21
httpsserver::ConnectionContext
Internal class to handle the state of a connection.
Definition:
ConnectionContext.hpp:18
httpsserver::WebsocketInputStreambuf::discard
void discard()
Discard data for the record that has not yet been read.
Definition:
WebsocketInputStreambuf.cpp:45
httpsserver
Definition:
ConnectionContext.cpp:3
httpsserver::WebsocketInputStreambuf::underflow
int_type underflow()
Handle the request to read data from the stream but we need more data from the source.
Definition:
WebsocketInputStreambuf.cpp:68
src
WebsocketInputStreambuf.hpp
Generated by
1.8.13