msgs = {d.name: d for d in s['defines']}
svcs = {s.caller: s for s in s['services']}
+ replies = {s.reply: s for s in s['services']}
seen_services = {}
for service in svcs:
raise ValueError('Service definition refers to unknown message'
' definition in reply: {}'
.format(svcs[service].reply))
+ if service in replies:
+ raise ValueError('Service definition refers to message'
+ ' marked as reply: {}'.format(service))
for event in svcs[service].events:
if event not in msgs:
raise ValueError('Service definition refers to unknown '
continue
if msgs[d].singular is True:
continue
- #if d.endswith('_counters'):
- # continue
- #if d.endswith('_event'):
- # continue
if d.endswith('_reply'):
if d[:-6] in svcs:
continue
if d+'_reply' in msgs:
s['services'].append(Service(d, d+'_reply'))
else:
- self.logger.warning('{} missing reply message ({})'
- .format(d, d+'_reply'))
- s['services'].append(Service(d, None))
+ raise ValueError('{} missing reply message ({}) or service definition'
+ .format(d, d+'_reply'))
return s