Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions beaver/transports/tcp_transport.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
# -*- coding: utf-8 -*-
import socket
import errno
import time

from beaver.transports.base_transport import BaseTransport
from beaver.transports.exception import TransportException


class TcpTransport(BaseTransport):
Expand Down Expand Up @@ -51,5 +53,18 @@ def callback(self, filename, lines, **kwargs):
if kwargs.get('timestamp', False):
del kwargs['timestamp']

for line in lines:
self._sock.send(self.format(filename, line, timestamp, **kwargs) + "\n")
try:
for line in lines:
self._sock.send(self.format(filename, line, timestamp, **kwargs) + "\n")
except socket.error, e:
self.invalidate()

if isinstance(e.args, tuple):
if e[0] == errno.EPIPE:
raise TransportException('Connection appears to have been lost')

raise TransportException('Socket Error: %s', e.args)
except Exception:
self.invalidate()

raise TransportException('Unspecified exception encountered') # TRAP ALL THE THINGS!