import repository from arizona
[raven.git] / lib / ravenlib / pubsub / repeater.py
1 from receiver import PubSubReceiver
2 from sender import PubSubSender, PubSubServer
3
4 class RepeaterReceiver(PubSubReceiver):
5     def __init__(self, hostAddr, sender):
6         self.sender = sender
7         PubSubReceiver.__init__(self, hostAddr)
8
9     def msg_received(self, msg):
10         sender.set_message(msg)
11
12 """
13      create_repeater
14
15      Creates a PubSubReceiver and a PubSubSender/Server and ties them together.
16      Messages received by the receiver will be sent by the sender.
17
18      hostAddr is the (hostname, port) of the data source
19      localAddr is the (hostname, port) to bind to locally.
20
21      localAddr can use a hostname of "" to bind to anonymous interface
22 """
23
24
25 def create_repeater(hostAddr, localAddr):
26     sender = PubSubSender()
27     server = PubSubServer(localAddr, sender)
28     receiver = RepeaterReceiver(hostAddr, sender)
29
30     return (sender, server, receiver)
31