Adjust the package revision; no actual code changes
[packages/trusty/python-eventlet.git] / eventlet / eventlet / twistedutil / protocols / basic.py
1 from twisted.protocols import basic
2 from twisted.internet.error import ConnectionDone
3 from eventlet.twistedutil.protocol import GreenTransportBase
4
5
6 class LineOnlyReceiver(basic.LineOnlyReceiver):
7
8     def __init__(self, recepient):
9         self._recepient = recepient
10
11     def connectionMade(self):
12         self._recepient._got_transport(self.transport)
13
14     def connectionLost(self, reason):
15         self._recepient._connectionLost(reason)
16
17     def lineReceived(self, line):
18         self._recepient._got_data(line)
19
20
21 class LineOnlyReceiverTransport(GreenTransportBase):
22
23     protocol_class = LineOnlyReceiver
24
25     def readline(self):
26         return self._wait()
27
28     def sendline(self, line):
29         self.protocol.sendLine(line)
30
31     # iterator protocol:
32
33     def __iter__(self):
34         return self
35
36     def next(self):
37         try:
38             return self.readline()
39         except ConnectionDone:
40             raise StopIteration
41