Issues such as #16 seem to stem from the inability to inject locking behaviour.
Right now to change the API would seem to break downstream clients, so I propose that a an optional parameter be added to the constructor for the stream wrapper for a locking interface, which would allow those who want network locking and alternative behaviours to create their own implementations and absolve the library of solving locking and stream wrapper bindings.
Issues such as #16 seem to stem from the inability to inject locking behaviour.
Right now to change the API would seem to break downstream clients, so I propose that a an optional parameter be added to the constructor for the stream wrapper for a locking interface, which would allow those who want network locking and alternative behaviours to create their own implementations and absolve the library of solving locking and stream wrapper bindings.