Update version of mbed-net-socket
diff --git a/yotta/data/example-tls-client/main.cpp b/yotta/data/example-tls-client/main.cpp
index 970788c..b499b60 100644
--- a/yotta/data/example-tls-client/main.cpp
+++ b/yotta/data/example-tls-client/main.cpp
@@ -34,8 +34,9 @@
 #define UNSAFE 0
 
 #include "mbed.h"
-#include <mbed-net-lwip-eth/EthernetInterface.h>
-#include <mbed-net-sockets/TCPStream.h>
+#include "mbed-net-lwip-eth/EthernetInterface.h"
+#include "mbed-net-sockets/TCPStream.h"
+#include "minar/minar.h"
 
 #include "mbedtls/ssl.h"
 #include "mbedtls/entropy.h"
@@ -90,6 +91,8 @@
 "-----END CERTIFICATE-----\n";
 }
 
+using namespace mbed::Sockets::v0;
+
 /**
  * \brief HelloHTTPS implements the logic for fetching a file from a webserver
  * using a TCP socket and parsing the result.
@@ -194,7 +197,7 @@
         /* Connect to the server */
         printf("Connecting to %s:%d\r\n", _domain, _port);
         /* Resolve the domain name: */
-        socket_error_t err = _stream.resolve(_domain, handler_t(this, &HelloHTTPS::onDNS));
+        socket_error_t err = _stream.resolve(_domain, TCPStream::DNSHandler_t(this, &HelloHTTPS::onDNS));
         return err;
     }
     /**
@@ -271,7 +274,7 @@
      * Receive callback for mbed TLS
      */
     static int ssl_recv(void *ctx, unsigned char *buf, size_t len) {
-        mbed::TCPStream *stream = static_cast<mbed::TCPStream *>(ctx);
+        TCPStream *stream = static_cast<TCPStream *>(ctx);
         socket_error_t err = stream->recv(buf, &len);
 
         if (err == SOCKET_ERROR_NONE) {
@@ -287,7 +290,7 @@
      * Send callback for mbed TLS
      */
     static int ssl_send(void *ctx, const unsigned char *buf, size_t len) {
-        mbed::TCPStream *stream = static_cast<mbed::TCPStream *>(ctx);
+        TCPStream *stream = static_cast<TCPStream *>(ctx);
 
         socket_error_t err = stream->send(buf, len);
 
@@ -300,15 +303,20 @@
         }
     }
 
+    void onError(Socket *s, socket_error_t err) {
+        (void) s;
+        printf("MBED: Socket Error: %s (%d)\r\n", socket_strerror(err), err);
+        _stream.close();
+        _error = true;
+        minar::Scheduler::stop();
+    }
     /**
      * On Connect handler
-     * Sends the request which was generated in startTest
+     * Starts the TLS handshake
      */
-    void onConnect(socket_error_t err) {
-        (void) err;
-
-        _stream.setOnReadable(handler_t(this, &HelloHTTPS::onReceive));
-        _stream.setOnDisconnect(handler_t(this, &HelloHTTPS::onDisconnect));
+    void onConnect(TCPStream *s) {
+        s->setOnReadable(TCPStream::ReadableHandler_t(this, &HelloHTTPS::onReceive));
+        s->setOnDisconnect(TCPStream::DisconnectHandler_t(this, &HelloHTTPS::onDisconnect));
 
         /* Start the handshake, the rest will be done in onReceive() */
         int ret = mbedtls_ssl_handshake(&_ssl);
@@ -325,9 +333,7 @@
      * On Receive handler
      * Parses the response from the server, to check for the HTTPS 200 status code and the expected response ("Hello World!")
      */
-    void onReceive(socket_error_t err) {
-        (void) err;
-
+    void onReceive(Socket *s) {
         if (_error)
             return;
 
@@ -392,41 +398,44 @@
         printf("HTTPS: Received message:\r\n\r\n");
         printf("%s", _buffer);
         _error = !(_got200 && _gothello);
+
+        s->close();
     }
     /**
      * On DNS Handler
      * Reads the address returned by DNS, then starts the connect process.
      */
-    void onDNS(socket_error_t err) {
-        socket_event_t *e = _stream.getEvent();
+    void onDNS(Socket *s, struct socket_addr addr, const char *domain) {
         /* Check that the result is a valid DNS response */
-        if (socket_addr_is_any(&e->i.d.addr)) {
+        if (socket_addr_is_any(&addr)) {
             /* Could not find DNS entry */
-            _error = true;
             printf("Could not find DNS entry for %s", HTTPS_SERVER_NAME);
-            return;
+            onError(s, SOCKET_ERROR_DNS_FAILED);
         } else {
             /* Start connecting to the remote host */
-            _remoteAddr.setAddr(&e->i.d.addr);
-            err = _stream.connect(&_remoteAddr, _port, handler_t(this, &HelloHTTPS::onConnect));
+            char buf[16];
+            _remoteAddr.setAddr(&addr);
+            _remoteAddr.fmtIPv4(buf,sizeof(buf));
+            printf("%s address: %s\r\n",domain, buf);
+            socket_error_t err = _stream.connect(_remoteAddr, _port, TCPStream::ConnectHandler_t(this, &HelloHTTPS::onConnect));
 
             if (err != SOCKET_ERROR_NONE) {
-                _error = true;
+                onError(s, err);
             }
         }
     }
-    void onDisconnect(socket_error_t err) {
-        (void) err;
-        _disconnected = true;
+    void onDisconnect(TCPStream *s) {
+        s->close();
+        minar::Scheduler::stop();
     }
 
 protected:
-    mbed::TCPStream _stream;        /**< The TCP Socket */
+    TCPStream _stream;              /**< The TCP Socket */
     const char *_domain;            /**< The domain name of the HTTPS server */
     const uint16_t _port;           /**< The HTTPS server port */
     char _buffer[RECV_BUFFER_SIZE]; /**< The response buffer */
     size_t _bpos;                   /**< The current offset in the response buffer */
-    mbed::SocketAddr _remoteAddr;   /**< The remote address */
+    SocketAddr _remoteAddr;         /**< The remote address */
     volatile bool _got200;          /**< Status flag for HTTPS 200 */
     volatile bool _gothello;        /**< Status flag for finding the test string */
     volatile bool _error;           /**< Status flag for an error */