To support multithread safety, the 
rwsf::TransportImp base class 
invoke() method
 creates a multithread guard and then calls 
doInvoke() in derived classes. This design provides thread safety during asynchronous processing and allows your application to share transports safely. If you know you will not be using asynchronous processing with your transport and you want to avoid using the mutex guard, you can reimplement 
invoke() in your derived class to not use the mutex guard.