From 283537fd130e56aa77410b47092dea16be47b108 Mon Sep 17 00:00:00 2001 From: Adam Dickmeiss Date: Thu, 13 Oct 2005 10:33:11 +0000 Subject: [PATCH] Add GDU in Package class. Use classes Origin and Session --- src/package.hpp | 62 +++++++++++++++++++++++++++++++++++++------------- src/test_filter2.cpp | 23 ++++++++++--------- 2 files changed, 58 insertions(+), 27 deletions(-) diff --git a/src/package.hpp b/src/package.hpp index a4924dd..eaa370d 100644 --- a/src/package.hpp +++ b/src/package.hpp @@ -3,15 +3,28 @@ #define PACKAGE_HPP #include +#include +#include "session.hpp" namespace yp2 { - - class Package { - public: + + class Origin { + enum origin_t { + API, + UNIX, + TCPIP + } type; + std::string address; // UNIX+TCPIP + int port; // TCPIP only + }; + + class Package { + public: - Package(unsigned long int id = 0, bool close = 0) - : m_session_id(id), m_session_close(close), + + Package(yp2::Session &session, yp2::Origin &origin) + : m_session(session), m_origin(origin), m_filter(0), m_router(0), m_data(0) {} /// send Package to it's next Filter defined in Router @@ -24,16 +37,10 @@ namespace yp2 { } - /// get function - right val in assignment - unsigned int session_id() const { - return m_session_id; - } - - /// get function - right val in assignment - unsigned int session_close() const { - return m_session_close; + /// access session - left val in assignment + yp2::Session & session() { + return m_session; } - /// get function - right val in assignment unsigned int data() const { @@ -52,6 +59,23 @@ namespace yp2 { } + /// get function - right val in assignment + Origin origin() const { + return m_origin; + } + + /// set function - left val in assignment + Origin & origin() { + return m_origin; + } + + /// set function - can be chained + Package & origin(const Origin & origin){ + m_origin = origin; + return *this; + } + + //Router router() const { // return m_router; //} @@ -69,11 +93,17 @@ namespace yp2 { private: - unsigned long int m_session_id; - bool m_session_close; + Session m_session; +// unsigned long int m_session_id; +// bool m_session_close; + Origin m_origin; + const Filter *m_filter; const Router *m_router; unsigned int m_data; + + yazpp_1::GDU m_request_gdu; + yazpp_1::GDU m_response_gdu; }; diff --git a/src/test_filter2.cpp b/src/test_filter2.cpp index f4a9b3e..e2ee322 100644 --- a/src/test_filter2.cpp +++ b/src/test_filter2.cpp @@ -46,29 +46,30 @@ BOOST_AUTO_TEST_CASE( testfilter2 ) router1.rule(fc); router1.rule(fd); + + yp2::Session session; + yp2::Origin origin; + yp2::Package pack_in(session, origin); - yp2::Package pack_in; - - yp2::Package pack_out; - - pack_out = pack_in.router(router1).move(); + yp2::Package pack_out = pack_in.router(router1).move(); BOOST_CHECK (pack_out.data() == 2468); } { - yp2::RouterChain router2; router2.rule(fd); router2.rule(fc); - yp2::Package pack_in; - - yp2::Package pack_out; - - pack_out = pack_in.router(router2).move(); + yp2::Session session; + yp2::Origin origin; + yp2::Package pack_in(session, origin); + + yp2::Package pack_out(session, origin); + + pack_out = pack_in.router(router2).move(); BOOST_CHECK (pack_out.data() == 1234); -- 1.7.10.4