1
vote
Custom protocol registration should allow data to be passed in.
1. The registration method for custom protocol should be able to pass in an anonymous function and an agnostic datum (TObject or IInterface), instead of just a class reference. This will allow the creation of protocols that depend on dynamic data, such as logging directly to AWS CloudWatch.
One should also be able to register custom protocols to specific TSiProtocolFactory instances instead of global singletons. SmartInpect's reliance on global singletons is an anti-pattern which creates difficulties for unit testing, or different parts on the application using custom protocols in different ways.
