Currently compression and encryption is either on or off per endpoint. It may be useful to specify different algorithms per message type; or leave empty if no algorithm is applicable.
This may work more-or-less along the same lines as the routing:
<compression>
<algorithm name="gzip">
<add specification="StartsWith" value="Shuttle.Messages1" />
</algorithm>
<algorithm name="deflate">
<add specification="TypeList" value="DoSomethingCommand" />
</algorithm>
</compression>
The same would apply to encryption.
Perhaps an ICompressionPolicy would be useful with the DefaultCompressionPolicy making use of the application configuration as specified above.