Why io_service_ is a shared_ptr ? Boost::asio does not support this. NetworkContext should be shared IMHO, and all classes that use it should store shared pointer to it. Then there is a guarantee that encapsulated boost::asio::io_service will stay as long as users of NetworkContext do exist. Also usually you should use public inheritance: class AsioNetworkContext : public NetworkContext. Best, Dmitri On 05/14/14 17:47, Mathias Hablützel wrote: > High everyone, > > I started to write an opaque structure for storing context > (boost::asio::io_service), can someone of the KIARA dev team review my > first steps before I run in the wrong direction? > > Inline patch: > > ############### > diff --git a/src/KIARA/Transport/Transport.hpp > b/src/KIARA/Transport/Transport.hpp > index d2c8a37..23cc8ef 100644 > --- a/src/KIARA/Transport/Transport.hpp > +++ b/src/KIARA/Transport/Transport.hpp > @@ -268,6 +268,26 @@ private: > static TransportMap transports_; > }; > +// Base class for the network context object > +class NetworkContext > +{ > +public: > + virtual ~NetworkContext(); > +}; > + > +// Derived class for the network context object for Boost.Asio > +class AsioNetworkContext : NetworkContext > +{ > +public: > + explicit AsioNetworkContext(boost::asio::io_service&); > + ~AsioNetworkContext(); > + // Get a reference of the io_service > + boost::asio::io_service& getIoService () const; > + > +private: > + boost::shared_ptr<boost::asio::io_service> io_service_; > +}; > + > } // namespace Transport > } // namespace KIARA > ############### > > Thanks for comments > Mathias > -- > |_|0|_| Researcher (Network and Linux) > |_|_|0| Institute of Information Technology > |0|0|0| Zürich University of Applied Sciences > http://cloudcomp.ch > > > _______________________________________________ > Miwi-middleware mailing list > Miwi-middleware at lists.fi-ware.org > https://lists.fi-ware.org/listinfo/miwi-middleware >
You can get more information about our cookies and privacy policies clicking on the following links: Privacy policy Cookies policy