in pypubsub.py [0:0]
def __init__(self, yml: dict):
# LDAP Settings
self.ldap = None
lyml = yml.get('clients', {}).get('ldap')
if isinstance(lyml, dict):
self.ldap = plugins.ldap.LDAPConnection(lyml)
# SQS?
self.sqs = yml.get('sqs')
# Main server config
server_ip = yml['server'].get('bind', PUBSUB_DEFAULT_IP)
server_port = int(yml['server'].get('port', PUBSUB_DEFAULT_PORT))
server_payload_limit = int(yml['server'].get('max_payload_size', PUBSUB_DEFAULT_MAX_PAYLOAD_SIZE))
self.server = ServerConfig(ip=server_ip, port=server_port, payload_limit=server_payload_limit)
# Backlog settings
bma = yml['server'].get('backlog', {}).get('max_age', PUBSUB_DEFAULT_BACKLOG_AGE)
if isinstance(bma, str):
bma = bma.lower()
if bma.endswith('s'):
bma = int(bma.replace('s', ''))
elif bma.endswith('m'):
bma = int(bma.replace('m', '')) * 60
elif bma.endswith('h'):
bma = int(bma.replace('h', '')) * 3600
elif bma.endswith('d'):
bma = int(bma.replace('d', '')) * 86400
bqs = yml['server'].get('backlog', {}).get('size',
PUBSUB_DEFAULT_BACKLOG_SIZE)
bst = yml['server'].get('backlog', {}).get('storage')
self.backlog = BacklogConfig(max_age=bma, queue_size=bqs, storage=bst)
# Payloaders - clients that can post payloads
self.payloaders = [netaddr.IPNetwork(x) for x in yml['clients'].get('payloaders', [])]
# Binary backwards compatibility
self.oldschoolers = yml['clients'].get('oldschoolers', [])
# Secure topics, if any
self.secure_topics = set(yml['clients'].get('secure_topics', []) or [])