Fix last obvious leak
This commit is contained in:
@@ -69,6 +69,8 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
uWS::Loop::defaultLoop()->free();
|
uWS::Loop::defaultLoop()->free();
|
||||||
|
|
||||||
|
std::cout << "Everything fine, falling through" << std::endl;
|
||||||
|
|
||||||
// return 0;
|
// return 0;
|
||||||
|
|
||||||
// AsyncFileStreamer *asyncFileStreamer = new AsyncFileStreamer("/home/alexhultman/v0.15/public");
|
// AsyncFileStreamer *asyncFileStreamer = new AsyncFileStreamer("/home/alexhultman/v0.15/public");
|
||||||
|
|||||||
@@ -136,51 +136,6 @@ private:
|
|||||||
}
|
}
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
// this should probably not be public
|
|
||||||
bool upgradeToWebSocket(void *newSocket) {
|
|
||||||
|
|
||||||
HttpResponseData<SSL> *httpResponseData = getHttpResponseData();
|
|
||||||
|
|
||||||
|
|
||||||
// this flag is not really needed to keep state of, could be per http content state
|
|
||||||
httpResponseData->state |= HttpResponseData<SSL>::HTTP_UPGRADED_TO_WEBSOCKET;
|
|
||||||
|
|
||||||
// also set pointer to the websocketcontext?
|
|
||||||
|
|
||||||
// you can just check if the context of the socket changed? buy youi don't know the socket ptr!
|
|
||||||
|
|
||||||
HttpContextData<SSL> *httpContextData = (HttpContextData<SSL> *) Super::static_dispatch(us_ssl_socket_context_ext, us_socket_context_ext)(
|
|
||||||
|
|
||||||
Super::static_dispatch(us_ssl_socket_get_context, us_socket_get_context)((typename Super::SOCKET_TYPE *) this)
|
|
||||||
|
|
||||||
);
|
|
||||||
|
|
||||||
httpContextData->upgradedWebSocket = newSocket;
|
|
||||||
|
|
||||||
// I jhave no idea what this does
|
|
||||||
return true;
|
|
||||||
|
|
||||||
|
|
||||||
/*SOCKET_CONTEXT_TYPE *getSocketContext() {
|
|
||||||
return (SOCKET_CONTEXT_TYPE *) this;
|
|
||||||
}
|
|
||||||
|
|
||||||
static SOCKET_CONTEXT_TYPE *getSocketContext(SOCKET_TYPE *s) {
|
|
||||||
return (SOCKET_CONTEXT_TYPE *) static_dispatch(us_ssl_socket_get_context, us_socket_get_context)(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
HttpContextData<SSL> *getSocketContextData() {
|
|
||||||
return (HttpContextData<SSL> *) static_dispatch(us_ssl_socket_context_ext, us_socket_context_ext)(getSocketContext());
|
|
||||||
}
|
|
||||||
|
|
||||||
static HttpContextData<SSL> *getSocketContextDataS(SOCKET_TYPE *s) {
|
|
||||||
return (HttpContextData<SSL> *) static_dispatch(us_ssl_socket_context_ext, us_socket_context_ext)(getSocketContext(s));
|
|
||||||
}*/
|
|
||||||
|
|
||||||
//return (HttpContextData<SSL> *) static_dispatch(us_ssl_socket_context_ext, us_socket_context_ext)(getSocketContext(s));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Immediately terminate this Http response */
|
/* Immediately terminate this Http response */
|
||||||
using Super::close;
|
using Super::close;
|
||||||
|
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ private:
|
|||||||
HTTP_STATUS_CALLED = 1, // used
|
HTTP_STATUS_CALLED = 1, // used
|
||||||
HTTP_WRITE_CALLED = 2, // used
|
HTTP_WRITE_CALLED = 2, // used
|
||||||
HTTP_END_CALLED = 4, // used
|
HTTP_END_CALLED = 4, // used
|
||||||
HTTP_UPGRADED_TO_WEBSOCKET = 8, // used
|
HTTP_UPGRADED_TO_WEBSOCKET = 8, // not used
|
||||||
HTTP_ENDED_STREAM_OUT = 16 // not used
|
HTTP_ENDED_STREAM_OUT = 16 // not used
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -238,6 +238,9 @@ private:
|
|||||||
|
|
||||||
//std::cout << "close!" << std::endl;
|
//std::cout << "close!" << std::endl;
|
||||||
|
|
||||||
|
WebSocketData *webSocketData = (WebSocketData *) (static_dispatch(us_ssl_socket_ext, us_socket_ext)(s));
|
||||||
|
webSocketData->~WebSocketData();
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return s;
|
return s;
|
||||||
|
|||||||
@@ -50,6 +50,14 @@ public:
|
|||||||
deflationStream = new DeflationStream;
|
deflationStream = new DeflationStream;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
~WebSocketData() {
|
||||||
|
std::cout << "destruting webocketdata" << std::endl;
|
||||||
|
|
||||||
|
if (deflationStream) {
|
||||||
|
delete deflationStream;
|
||||||
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user