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