Von boost::asio::tcp::socket erben
-
Hoi,
ich möchte in meinem Projekt eine Verbindung über einen Socks4-Proxyserver aufbauen und ungern eine Library dafür nutzen, möchte keine neuen Abhängigkeiten.Spricht etwas dagegen einfach von boost::asio::tcp::socket zu erben und die connect Memberfunktionen zu überladen bzw zu überschreiben? Virtuell sind sie ja.
Grüße,
Ethon
-
Ja. Dass sie eben nicht virtuell ist...
-
*Kopfkratz*
Höh, jetzt bin ich verwirrt, sind sie ja wirklich nicht.
-
Hey di ho,
warum willste na von der Klasse erben.
Bau dir doch einfach was in der Art:Pseudo Code:
class proxy { public: proxy(); init(tcp::connection); send(); recv(); end(); }; class socks4 : public proxy {}; class socks5 : public proxy {}; class httpProxy : public proxy {}; class connection { connection(proxy* p) : m_proxy(p) { m_proxy.init(m_sock); } send(data) { m_proxy.send(data) } /* .... */ private: std::unique_ptr<proxy> m_proxy; tcp::socket m_sock; };Gibt auch nen Namen fuer das Pattern weiss ihn aber grad ned :(.
Gruessle
-
proxy pattern oder adapter oder delegation