def connect()

in aws_embedded_metrics/sinks/tcp_client.py [0:0]


    def connect(self) -> "TcpClient":
        with self._connect_lock:
            try:
                self._sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
                self._sock.connect((self._endpoint.hostname, self._endpoint.port))
                self._should_connect = False
            except socket.timeout as e:
                log.error("Socket timeout durring connect %s" % (e,))
            except OSError as e:
                if e.errno == errno.EISCONN:
                    log.debug("Socket is already connected.")
                    self._should_connect = False
                else:
                    log.error("Failed to connect to the socket. %s" % (e,))
                    self._should_connect = True
            except Exception as e:
                log.error("Failed to connect to the socket. %s" % (e,))
                self._should_connect = True
            return self