5
5
from landscape.service import LandscapeService, run_landscape_service
6
6
from landscape.broker.registration import RegistrationHandler, Identity
7
7
from landscape.broker.config import BrokerConfiguration
8
from landscape.broker.transport import HTTPTransport
8
from landscape.broker.transport import HTTPTransport, PayloadRecorder
9
9
from landscape.broker.exchange import MessageExchange
10
10
from landscape.broker.exchangestore import ExchangeStore
11
11
from landscape.broker.ping import Pinger
48
48
self.persist_filename = os.path.join(
49
49
config.data_path, "%s.bpickle" % (self.service_name,))
50
50
super(BrokerService, self).__init__(config)
51
self.transport = self.transport_factory(config.url,
52
config.ssl_public_key)
52
if config.record is not None:
53
self.payload_recorder = PayloadRecorder(config.record_directory)
55
self.payload_recorder = None
56
self.transport = self.transport_factory(
57
config.url, config.ssl_public_key, self.payload_recorder)
53
58
self.message_store = get_default_message_store(
54
59
self.persist, config.message_store_path)
55
60
self.identity = Identity(self.config, self.persist)
56
61
exchange_store = ExchangeStore(self.config.exchange_store_path)
57
62
self.exchanger = MessageExchange(
58
63
self.reactor, self.message_store, self.transport, self.identity,
59
exchange_store, config.exchange_interval,
60
config.urgent_exchange_interval)
64
exchange_store, config)
61
65
self.pinger = self.pinger_factory(self.reactor, config.ping_url,
62
66
self.identity, self.exchanger)
63
67
self.registration = RegistrationHandler(