Decide where validation sits on publish/broadcast or encode
On receive messages are validated before passing to decode
On publish/broadcast we could either validate in the publish/broadcast method
or we could validate once before returning from encode
Or publish/broadcast could take the client format message and pass through encode before writing to the backbone.
I've not got to the point of implementing this in the prototype yet - at present it's sending a message directly not via encode.
The assumption at the moment is that the client implementation
calls encode first
and then calls publish/broadcast
- Decide on preferred data flow
- Change testsuite as required
- Cascade to adapter implementations