File tree Expand file tree Collapse file tree 2 files changed +19
-3
lines changed
libraries/lwIpWrapper/src Expand file tree Collapse file tree 2 files changed +19
-3
lines changed Original file line number Diff line number Diff line change @@ -8,7 +8,7 @@ extern "C" {
88
99/* -------------------------------------------------------------------------- */
1010lwipClient::lwipClient ()
11- : _tcp_client(NULL )
11+ : _tcp_client(NULL ), _provided_tcp_client( false )
1212{
1313}
1414/* -------------------------------------------------------------------------- */
@@ -17,15 +17,28 @@ lwipClient::lwipClient()
1717sketches but sock is ignored. */
1818/* -------------------------------------------------------------------------- */
1919lwipClient::lwipClient (uint8_t sock)
20- : _tcp_client(NULL )
20+ : _tcp_client(NULL ), _provided_tcp_client(false )
21+
2122{
2223}
2324/* -------------------------------------------------------------------------- */
2425
2526/* -------------------------------------------------------------------------- */
2627lwipClient::lwipClient (struct tcp_struct * tcpClient)
28+ : _tcp_client(tcpClient), _provided_tcp_client(true )
29+
2730{
28- _tcp_client = tcpClient;
31+ }
32+ /* -------------------------------------------------------------------------- */
33+
34+ /* -------------------------------------------------------------------------- */
35+ lwipClient::~lwipClient ()
36+ {
37+ stop ();
38+
39+ if (!_provided_tcp_client) {
40+ mem_free (_tcp_client);
41+ }
2942}
3043/* -------------------------------------------------------------------------- */
3144
Original file line number Diff line number Diff line change @@ -16,6 +16,7 @@ class lwipClient : public Client {
1616 lwipClient ();
1717 lwipClient (uint8_t sock);
1818 lwipClient (struct tcp_struct * tcpClient);
19+ virtual ~lwipClient ();
1920
2021 uint8_t status ();
2122 virtual int connect (IPAddress ip, uint16_t port);
@@ -68,6 +69,8 @@ class lwipClient : public Client {
6869private:
6970 struct tcp_struct * _tcp_client;
7071 uint16_t _timeout = 10000 ;
72+
73+ const bool _provided_tcp_client;
7174};
7275
7376#endif
You can’t perform that action at this time.
0 commit comments