forked from RamseyK/httpserver
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathSendQueueItem.h
More file actions
executable file
·76 lines (59 loc) · 1.56 KB
/
SendQueueItem.h
File metadata and controls
executable file
·76 lines (59 loc) · 1.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
/**
httpserver
SendQueueItem.h
Copyright 2011-2019 Ramsey Kant
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
#ifndef _SENDQUEUEITEM_H_
#define _SENDQUEUEITEM_H_
#include <cstdlib>
typedef unsigned char byte;
/**
* SendQueueItem
* Object represents a piece of data in a clients send queue
* Contains a pointer to the send buffer and tracks the current amount of data sent (by offset)
*/
class SendQueueItem {
private:
byte* sendData;
unsigned int sendSize;
unsigned int sendOffset;
bool disconnect; // Flag indicating if the client should be disconnected after this item is dequeued
public:
SendQueueItem(byte* data, unsigned int size, bool dc) {
sendData = data;
sendSize = size;
disconnect = dc;
sendOffset = 0;
}
~SendQueueItem() {
if (sendData != NULL) {
delete [] sendData;
sendData = NULL;
}
}
void setOffset(unsigned int off) {
sendOffset = off;
}
byte* getData() {
return sendData;
}
unsigned int getSize() {
return sendSize;
}
bool getDisconnect() {
return disconnect;
}
unsigned int getOffset() {
return sendOffset;
}
};
#endif