Skip to content

Commit 1ca2626

Browse files
committed
sendPrepared should return SendStatus
1 parent 70ad816 commit 1ca2626

File tree

3 files changed

+14
-13
lines changed

3 files changed

+14
-13
lines changed

src/Loop.h

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -126,15 +126,17 @@ struct Loop {
126126

127127
LoopData *loopData = (LoopData *) us_loop_ext((us_loop_t *) this);
128128

129-
/* Initialize loop's deflate inflate streams */
130-
if (!loopData->zlibContext) {
131-
loopData->zlibContext = new ZlibContext;
132-
loopData->inflationStream = new InflationStream(CompressOptions::DEDICATED_DECOMPRESSOR);
133-
loopData->deflationStream = new DeflationStream(CompressOptions::DEDICATED_COMPRESSOR);
129+
if (compress) {
130+
/* Initialize loop's deflate inflate streams */
131+
if (!loopData->zlibContext) {
132+
loopData->zlibContext = new ZlibContext;
133+
loopData->inflationStream = new InflationStream(CompressOptions::DEDICATED_DECOMPRESSOR);
134+
loopData->deflationStream = new DeflationStream(CompressOptions::DEDICATED_COMPRESSOR);
135+
}
136+
137+
preparedMessage.compressedMessage = loopData->deflationStream->deflate(loopData->zlibContext, {preparedMessage.originalMessage.data(), preparedMessage.originalMessage.length()}, true);
134138
}
135139

136-
preparedMessage.compressedMessage = loopData->deflationStream->deflate(loopData->zlibContext, {preparedMessage.originalMessage.data(), preparedMessage.originalMessage.length()}, true);
137-
138140
return preparedMessage;
139141
}
140142

src/TopicTree.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ struct TopicTree {
202202
/* Remove us from topic */
203203
topicPtr->erase(s);
204204

205-
int newCount = topicPtr->size();
205+
int newCount = (int) topicPtr->size();
206206

207207
/* If there is no subscriber to this topic, remove it */
208208
if (!topicPtr->size()) {

src/WebSocket.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -101,12 +101,11 @@ struct WebSocket : AsyncSocket<SSL> {
101101
}
102102

103103
/* Experimental */
104-
void sendPrepared(PreparedMessage &preparedMessage) {
105-
if (hasNegotiatedCompression() && preparedMessage.compressedMessage.length() < preparedMessage.originalMessage.length()) {
106-
send({preparedMessage.compressedMessage.data(), preparedMessage.compressedMessage.length()}, (OpCode) preparedMessage.opCode, uWS::CompressFlags::ALREADY_COMPRESSED);
107-
} else {
108-
send({preparedMessage.originalMessage.data(), preparedMessage.originalMessage.length()}, (OpCode) preparedMessage.opCode);
104+
SendStatus sendPrepared(PreparedMessage &preparedMessage) {
105+
if (preparedMessage.compressed && hasNegotiatedCompression() && preparedMessage.compressedMessage.length() < preparedMessage.originalMessage.length()) {
106+
return send({preparedMessage.compressedMessage.data(), preparedMessage.compressedMessage.length()}, (OpCode) preparedMessage.opCode, uWS::CompressFlags::ALREADY_COMPRESSED);
109107
}
108+
return send({preparedMessage.originalMessage.data(), preparedMessage.originalMessage.length()}, (OpCode) preparedMessage.opCode);
110109
}
111110

112111
/* Send or buffer a WebSocket frame, compressed or not. Returns BACKPRESSURE on increased user space backpressure,

0 commit comments

Comments
 (0)