Skip to content

Commit

Permalink
API CHANGE: ws.close -> ws.end, ws.terminate -> ws.close
Browse files Browse the repository at this point in the history
  • Loading branch information
uNetworkingAB committed Jan 26, 2019
1 parent ba10536 commit 7d990a3
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 9 deletions.
11 changes: 4 additions & 7 deletions src/WebSocket.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,9 @@ struct WebSocket : AsyncSocket<SSL> {
/* See AsyncSocket */
using Super::getBufferedAmount;

/* Simple, immediate close of the socket. Emits close event */
using Super::close;

/* Send or buffer a WebSocket frame, compressed or not. Returns false on increased user space backpressure. */
bool send(std::string_view message, uWS::OpCode opCode = uWS::OpCode::BINARY, bool compress = false) {
/* Transform the message to compressed domain if requested */
Expand Down Expand Up @@ -87,7 +90,7 @@ struct WebSocket : AsyncSocket<SSL> {
}

/* Send websocket close frame, emit close event, send FIN if successful */
void close(int code, std::string_view message = {}) {
void end(int code, std::string_view message = {}) {
/* Check if we already called this one */
WebSocketData *webSocketData = (WebSocketData *) us_new_socket_ext(SSL, (us_new_socket_t *) this);
if (webSocketData->isShuttingDown) {
Expand Down Expand Up @@ -122,12 +125,6 @@ struct WebSocket : AsyncSocket<SSL> {
webSocketContextData->closeHandler(this, code, message);
}
}

/* Simple, immediate close of the socket. Emits close event */
void terminate() {
/* This calls close event in context where it checks for isShuttingDown and either emits websocket close or not */
Super::close();
}
};

}
Expand Down
4 changes: 2 additions & 2 deletions src/WebSocketContext.h
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ struct WebSocketContext {
if (!remainingBytes && fin && !webSocketData->controlTipLength) {
if (opCode == CLOSE) {
auto closeFrame = protocol::parseClosePayload(data, length);
webSocket->close(closeFrame.code, std::string_view(closeFrame.message, closeFrame.length));
webSocket->end(closeFrame.code, std::string_view(closeFrame.message, closeFrame.length));
return true;
} else {
if (opCode == PING) {
Expand All @@ -192,7 +192,7 @@ struct WebSocketContext {
char *controlBuffer = (char *) webSocketData->fragmentBuffer.data() + webSocketData->fragmentBuffer.length() - webSocketData->controlTipLength;
if (opCode == CLOSE) {
protocol::CloseFrame closeFrame = protocol::parseClosePayload(controlBuffer, webSocketData->controlTipLength);
webSocket->close(closeFrame.code, std::string_view(closeFrame.message, closeFrame.length));
webSocket->end(closeFrame.code, std::string_view(closeFrame.message, closeFrame.length));
return true;
} else {
if (opCode == PING) {
Expand Down

0 comments on commit 7d990a3

Please sign in to comment.