So...
Add a non-public initializer to copy-by-reference the Framer<MyImplementation> object.
When an option-mutating method is called, update the internal by-value cache, then create a corresponding NWProtocolFramer.Options object, then change the Framer object to replace its current Options.
This should work as long as the intermediate wrapper objects aren't actually used, since all of those wrappers point to the same framer. As you said, this should work; fixing the flaw would be "planning for Machiveli instead of Murphy".
Topic:
App & System Services
SubTopic:
Networking
Tags: