commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r4398 - gnuradio/branches/developers/eb/mb/mblock/src/


From: eb
Subject: [Commit-gnuradio] r4398 - gnuradio/branches/developers/eb/mb/mblock/src/lib
Date: Tue, 6 Feb 2007 15:15:29 -0700 (MST)

Author: eb
Date: 2007-02-06 15:15:29 -0700 (Tue, 06 Feb 2007)
New Revision: 4398

Modified:
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.cc
   gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.h
   
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_runtime_single_threaded.cc
   gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc
   gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_send.cc
Log:
Message sends through RELAY ports are now being routed correctly.


Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc      
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.cc      
2007-02-06 22:15:29 UTC (rev 4398)
@@ -125,3 +125,15 @@
 {
   return d_impl->fullname();
 }
+
+void
+mb_mblock::set_fullname(const std::string name)
+{
+  d_impl->set_fullname(name);
+}
+
+mb_mblock *
+mb_mblock::parent() const
+{
+  return d_impl->mblock_parent();
+}

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h       
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock.h       
2007-02-06 22:15:29 UTC (rev 4398)
@@ -179,9 +179,14 @@
 public:
   virtual ~mb_mblock();
 
+  void set_fullname(const std::string name);
+  
   //! Return full name of this block
   std::string fullname() const;
 
+  //! Return the parent of this mblock, or 0 if we're the top-level block.
+  mb_mblock *parent() const;
+
   /*!
    * \brief Perform a pre-order depth-first traversal of the hierarchy.
    *

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc 
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.cc 
2007-02-06 22:15:29 UTC (rev 4398)
@@ -51,7 +51,7 @@
 ////////////////////////////////////////////////////////////////////////
 
 mb_mblock_impl::mb_mblock_impl(mb_mblock *mb)
-  : d_mb(mb), d_mb_parent(0), d_fullname("top")
+  : d_mb(mb), d_mb_parent(0), d_fullname("<unknown>")
 {
 }
 
@@ -67,13 +67,6 @@
                            bool conjugated,
                            mb_port::port_type_t port_type)
 {
-#if 0
-  if (port_type == mb_port::RELAY)
-    throw mbe_not_implemented(d_mb,
-            "mb_block_impl::define_port: RELAY ports are not implemented: "
-            + port_name);
-#endif
-  
   if (port_is_defined(port_name))
     throw mbe_duplicate_port(d_mb, port_name);
 
@@ -94,8 +87,6 @@
 
   component->d_impl->d_mb_parent = d_mb;     // set component's parent link
   d_comp_map[name] = component;
-
-  component->d_impl->set_fullname(this->fullname() + "/" + name);  // set 
hierarchical name
 }
 
 void
@@ -235,16 +226,17 @@
   return mb_msg_accepter_sptr(ma);
 }
 
-mb_port_sptr
-mb_mblock_impl::lookup_port_on_other_end(const mb_port *port)
+bool
+mb_mblock_impl::lookup_other_endpoint(const mb_port *port, mb_endpoint *ep)
 {
   mb_conn_iter it;
   int          which_ep = 0;
 
   if (!d_conn_table.lookup_conn_by_port(port, &it, &which_ep))
-    return mb_port_sptr();     // eqv to null pointer
+    return false;
   
-  return it->d_ep[which_ep^1].port();
+  *ep = it->d_ep[which_ep^1];
+  return true;
 }
 
 mb_mblock_sptr
@@ -258,3 +250,10 @@
 
   return d_comp_map[comp_name];
 }
+
+void
+mb_mblock_impl::set_fullname(const std::string &name)
+{
+  d_fullname = name;
+}
+

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h  
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_mblock_impl.h  
2007-02-06 22:15:29 UTC (rev 4398)
@@ -150,11 +150,21 @@
   //! Return full name of this block
   std::string fullname() const { return d_fullname; }
 
-  //! If bound, return port on the other end of the connection, else null.
-  mb_port_sptr
-  lookup_port_on_other_end(const mb_port *port);
+  //! Set the name of this block
+  void set_fullname(const std::string &name);
 
+  /*!
+   * \brief If bound, store endpoint from the other end of the connection.
+   *
+   * \param port [in]  port the port that we're searching for.
+   * \param ep   [out] the other end point from the matching connection.
+   *
+   * \returns true iff there's a matching connection.
+   */
+  bool
+  lookup_other_endpoint(const mb_port *port, mb_endpoint *ep);
 
+
   mb_mblock *
   mblock() const { return d_mb; }
 
@@ -164,6 +174,7 @@
   mb_mblock_sptr
   component(const std::string &comp_name);
 
+
   /*
    * Our implementation methods
    */
@@ -186,8 +197,6 @@
   endpoints_are_compatible(const mb_endpoint &ep0,
                           const mb_endpoint &ep1);
 
-  //! Set the name of this block
-  void set_fullname(const std::string &name){ d_fullname = name; }
 };
 
 

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h 2007-02-06 
18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port.h 2007-02-06 
22:15:29 UTC (rev 4398)
@@ -54,6 +54,8 @@
          bool conjugated,
          mb_port::port_type_t port_type);
 
+  mb_mblock *mblock() const { return d_mblock; }
+
 public:
   std::string  port_name() const { return d_port_name; }
   pmt_t                protocol_class() const { return d_protocol_class; }

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.cc 
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.cc 
2007-02-06 22:15:29 UTC (rev 4398)
@@ -28,6 +28,7 @@
 #include <mb_exception.h>
 #include <mb_mblock.h>
 #include <mb_mblock_impl.h>
+#include <assert.h>
 
 
 mb_port_simple::mb_port_simple(mb_mblock *mblock,
@@ -47,63 +48,82 @@
 void
 mb_port_simple::send(pmt_t signal, pmt_t data, pmt_t metadata, mb_pri_t 
priority)
 {
-  mb_msg_accepter_sptr  accepter = find_accepter();
+  if (port_type() == mb_port::RELAY)  // Can't send directly to a RELAY port
+    throw mbe_invalid_port_type(mblock(), mblock()->fullname(), port_name());
+
+  mb_msg_accepter_sptr  accepter = find_accepter(this);
   if (accepter)
     (*accepter)(signal, data, metadata, priority);
 }
 
+
 mb_msg_accepter_sptr
-mb_port_simple::find_accepter()
+mb_port_simple::find_accepter(mb_port_simple *start)
 {
+  mb_port_simple       *p = start;
+  mb_port_simple       *pp = 0;
+  mb_mblock            *context = 0;
+  mb_endpoint          peer_ep;
   mb_msg_accepter_sptr r;
-  mb_mblock            *mb = 0;
 
-  switch(port_type()){
+  // Set up initial context.
+
+  switch(p->port_type()){
   case mb_port::INTERNAL:      // binding is in our name space
-    mb = d_mblock;
+    context = p->mblock();
     break;
 
   case mb_port::EXTERNAL:      // binding is in parent's name space
-    mb = d_mblock->impl()->mblock_parent();
+    context = p->mblock()->parent();
     break;
 
-  case mb_port::RELAY:
-    throw std::logic_error("Can't happen: mb_port_simple::find_accepter send 
to relay [1]");
-
   default:
-    throw std::logic_error("Can't happen: mb_port_simple::find_accepter [2]");
+    throw std::logic_error("Can't happen: mb_port_simple::find_accepter [1]");
   }
 
-  //  std::cerr << d_mblock->fullname() << ":" << port_name();
 
-  mb_port_sptr peer = mb->impl()->lookup_port_on_other_end(this);
-  // std::cerr << "\n@@@ find_accepter: peer = " << peer << std::endl;
-  if (!peer){  // not bound, return equivalent of null pointer.
-    // std::cerr << std::endl;
-    return r;
-  }
+ traverse:
 
+  if (!context->impl()->lookup_other_endpoint(p, &peer_ep))
+    return mb_msg_accepter_sptr();     // not bound
+  
+  pp = dynamic_cast<mb_port_simple *>(peer_ep.port().get());   // peer port
+  assert(pp);
 
-  mb_port_simple *ps_peer = 0;
-  
-  switch (peer->port_type()){
-  case mb_port::INTERNAL:
+  switch (pp->port_type()){    
+  case mb_port::INTERNAL:      // Terminate here.
   case mb_port::EXTERNAL:
-    // FIXME if we ever instantiate other types of ports, this will need work
-    ps_peer = dynamic_cast<mb_port_simple *>(peer.get());
-    // std::cerr << " --> " << ps_peer->d_mblock->fullname() << ":" << 
ps_peer->port_name() << std::endl;
-    r = ps_peer->make_accepter();
+    r = pp->make_accepter();
     // FIXME cache the result
     return r;
 
-  case mb_port::RELAY:
-    throw mbe_not_implemented(0, "mb_port_simple::find_accepter(RELAY)");
+  case mb_port::RELAY:         // Traverse to other side of relay port.
+    if (peer_ep.inside_of_relay_port_p()){
+      // We're on inside of relay port, headed out.
+      p = pp;
+      context = p->mblock()->parent();
 
+      // Corner case: we're attempting to traverse a relay port on the border
+      // of the top block...
+      if (!context)
+       return mb_msg_accepter_sptr();  // not bound
+
+      goto traverse;
+    }
+    else {
+      // We're on the outside of relay port, headed in.
+      p = pp;
+      context = p->mblock();
+      goto traverse;
+    }
+    break;
+
   default:
-    throw std::logic_error("Can't happen: mb_port_simple::find_accepter [3]");
+    throw std::logic_error("Can't happen: mb_port_simple::find_accepter [2]");
   }
 }
 
+
 mb_msg_accepter_sptr
 mb_port_simple::make_accepter()
 {

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.h
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.h  
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_port_simple.h  
2007-02-06 22:15:29 UTC (rev 4398)
@@ -29,8 +29,8 @@
 class mb_port_simple : public mb_port
 {
 protected:
-  mb_msg_accepter_sptr
-  find_accepter();
+  static mb_msg_accepter_sptr
+  find_accepter(mb_port_simple *start);
 
   mb_msg_accepter_sptr
   make_accepter();

Modified: 
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_runtime_single_threaded.cc
===================================================================
--- 
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_runtime_single_threaded.cc 
    2007-02-06 18:58:05 UTC (rev 4397)
+++ 
gnuradio/branches/developers/eb/mb/mblock/src/lib/mb_runtime_single_threaded.cc 
    2007-02-06 22:15:29 UTC (rev 4398)
@@ -44,6 +44,7 @@
   public:
     bool operator()(mb_mblock *mblock, const std::string &path)
     {
+      mblock->set_fullname(path);
       mblock->init_fsm();
       return true;
     }

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc        
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_prims.cc        
2007-02-06 22:15:29 UTC (rev 4398)
@@ -107,32 +107,16 @@
 
   // define the protocol class
   pmt_t pc = mb_make_protocol_class(pmt_intern("cs-protocol"),
-                                   pmt_cons(pmt_intern("start"),
-                                            pmt_cons(pmt_intern("stop"),
-                                                     PMT_NIL)),
+                                   pmt_list2(pmt_intern("start"),
+                                             pmt_intern("stop")),
                                    PMT_NIL);
 
   // std::cout << "pc = " << pc << '\n';
 
   mb_mblock_sptr mb2 = mb_mblock_sptr(new dp_2());
 
-  // intf = mb2->peer_interface();
-  // CPPUNIT_ASSERT_EQUAL(size_t(1), intf.size());
-  // CPPUNIT_ASSERT(pmt_eq(s_cs, intf[0]->port_name()));
-
-
   // raises pmt_exception because of duplicate port definition of "cs"
   CPPUNIT_ASSERT_THROW(mb_mblock_sptr(new dp_3()), mbe_duplicate_port);
-
-#if 0
-  try {
-    mb_mblock_sptr mb2 = mb_mblock_sptr(new dp_2());
-  }
-  catch (pmt_exception &e){
-    std::cerr << e.msg() << ' ' << e.obj() << '\n';
-  }
-#endif
-
 }
 
 // ================================================================
@@ -325,13 +309,13 @@
 qa_mblock_prims::test_connect()
 {
   // define the protocol class
-  mb_make_protocol_class(pmt_intern("data"),                           // name 
of class
-                        pmt_cons(pmt_intern("data"), PMT_NIL),         // in
-                        PMT_NIL);                                      // out
+  mb_make_protocol_class(pmt_intern("data"),                   // name of class
+                        pmt_list1(pmt_intern("data")),         // in
+                        PMT_NIL);                              // out
 
-  mb_make_protocol_class(pmt_intern("i/o"),                            // name 
of class
-                        pmt_cons(pmt_intern("in"), PMT_NIL),           // in
-                        pmt_cons(pmt_intern("out"), PMT_NIL));         // out
+  mb_make_protocol_class(pmt_intern("i/o"),                    // name of class
+                        pmt_list1(pmt_intern("in")),           // in
+                        pmt_list1(pmt_intern("out")));         // out
 
 
   mb_runtime_sptr      rt = mb_make_runtime();
@@ -420,4 +404,3 @@
   CPPUNIT_ASSERT_EQUAL(1L, 
pmt_to_long(mb->impl()->msgq().get_highest_pri_msg()->data()));
   CPPUNIT_ASSERT_EQUAL(2L, 
pmt_to_long(mb->impl()->msgq().get_highest_pri_msg()->data()));
 }
-

Modified: gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_send.cc
===================================================================
--- gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_send.cc 
2007-02-06 18:58:05 UTC (rev 4397)
+++ gnuradio/branches/developers/eb/mb/mblock/src/lib/qa_mblock_send.cc 
2007-02-06 22:15:29 UTC (rev 4398)
@@ -337,122 +337,59 @@
 
   msg = c0c0->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
+  //std::cerr << msg->data() << std::endl;
   CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
   CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c1"), s_p1, 
pmt_from_long(0)),
                           msg->data()));
 
   msg = c0c0->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
+  //std::cerr << msg->data() << std::endl;
   CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
   CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c1"), s_p1, 
pmt_from_long(1)),
                           msg->data()));
 
-#if 0
-  // c1c0 should have received
-  //   two message from c0c0 via its e1
+  // c1 should have received
+  //   two message from c0c0 via its p2
 
-  msg = c1c0->impl()->msgq().get_highest_pri_msg();
+  msg = c1->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
-  CPPUNIT_ASSERT_EQUAL(s_e1, msg->port_id());
-  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_e1, 
pmt_from_long(0)),
+  //std::cerr << msg->data() << std::endl;
+  CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
+  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_p1, 
pmt_from_long(0)),
                           msg->data()));
 
-  msg = c1c0->impl()->msgq().get_highest_pri_msg();
+  msg = c1->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
-  CPPUNIT_ASSERT_EQUAL(s_e1, msg->port_id());
-  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_e1, 
pmt_from_long(1)),
+  //std::cerr << msg->data() << std::endl;
+  CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
+  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_p1, 
pmt_from_long(1)),
                           msg->data()));
-#endif
-
 }
 
-void
-qa_mblock_send::test_relay_routing_2()
-{
-}
-
-
-#if 0
 // ================================================================
 //                    test_relay_routing_2
 // ================================================================
 
-// internal block for test_relay_routing
+// top-level container for test_relay_routing_2
 
-class rr2 : public mb_mblock
+class rr0_b : public mb_mblock
 {
-  mb_port_sptr d_e1;
-
 public:
-  rr2();
-  ~rr2();
-  void init_fsm();
+  rr0_b();
+  ~rr0_b();
 };
 
-rr2::rr2()
+rr0_b::rr0_b()
 {
-  d_e1 = define_port("e1", "simple-send", false, mb_port::EXTERNAL);
-}
-
-rr2::~rr2(){}
-
-void
-rr2::init_fsm()
-{
-  // send two mesages via e1
-  pmt_t our_name = pmt_intern(fullname());
-  d_e1->send(s_data, pmt_list3(our_name, s_e1, pmt_from_long(0)));
-  d_e1->send(s_data, pmt_list3(our_name, s_e1, pmt_from_long(1)));
-}
-
-// ----------------------------------------------------------------
-
-// intermediate block for test_relay_routing
-
-class rr1 : public mb_mblock
-{
-  mb_port_sptr d_r1;
-
-public:
-  rr1();
-  ~rr1();
-};
-
-rr1::rr1()
-{
-  d_r1 = define_port("r1", "simple-send", false, mb_port::RELAY);
-
-  define_component("c0", mb_mblock_sptr(new rr2()));
-
-  connect("self", "r1", "c0", "e1");
-}
-
-rr1::~rr1(){}
-
-// ----------------------------------------------------------------
-
-// top-level container for test_relay_routing
-
-class rr0 : public mb_mblock
-{
-public:
-  rr0();
-  ~rr0();
-};
-
-rr0::rr0()
-{
   define_component("c0", mb_mblock_sptr(new rr1()));
   define_component("c1", mb_mblock_sptr(new rr1()));
 
-  connect("c0", "r1", "c1", "r1");
+  connect("c0", "p1", "c1", "p2");
+  connect("c0", "p2", "c1", "p1");
 }
 
-rr0::~rr0(){}
+rr0_b::~rr0_b(){}
 
 
 /*
@@ -461,14 +398,12 @@
  * which is good, because at the time this is being written, it isn't.
  */
 void
-qa_mblock_send::test_relay_routing()
+qa_mblock_send::test_relay_routing_2()
 {
-  return;      // FIXME
-
   mb_message_sptr msg;
 
   mb_runtime_sptr rt = mb_make_runtime();
-  mb_mblock_sptr  top = mb_mblock_sptr(new rr0());
+  mb_mblock_sptr  top = mb_mblock_sptr(new rr0_b());
   rt->run(top);
 
   // Reach into the guts and see if the messages ended up where they should 
have
@@ -480,37 +415,36 @@
   mb_mblock_sptr c1c0 = c1->impl()->component("c0");
 
   // c0c0 should have received
-  //   two message from c1c0 via its e1
+  //   two message from c1c0 via its p2
 
   msg = c0c0->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
-  CPPUNIT_ASSERT_EQUAL(s_e1, msg->port_id());
-  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c1/c0"), s_e1, 
pmt_from_long(0)),
+  // std::cerr << msg->data() << std::endl;
+  CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
+  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c1/c0"), s_p1, 
pmt_from_long(0)),
                           msg->data()));
 
   msg = c0c0->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
-  CPPUNIT_ASSERT_EQUAL(s_e1, msg->port_id());
-  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c1/c0"), s_e1, 
pmt_from_long(1)),
+  // std::cerr << msg->data() << std::endl;
+  CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
+  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c1/c0"), s_p1, 
pmt_from_long(1)),
                           msg->data()));
 
   // c1c0 should have received
-  //   two message from c0c0 via its e1
+  //   two message from c0c0 via its p2
 
   msg = c1c0->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
-  CPPUNIT_ASSERT_EQUAL(s_e1, msg->port_id());
-  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_e1, 
pmt_from_long(0)),
+  // std::cerr << msg->data() << std::endl;
+  CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
+  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_p1, 
pmt_from_long(0)),
                           msg->data()));
 
   msg = c1c0->impl()->msgq().get_highest_pri_msg();
   CPPUNIT_ASSERT(msg);
-  std::cerr << msg->data() << std::endl;
-  CPPUNIT_ASSERT_EQUAL(s_e1, msg->port_id());
-  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_e1, 
pmt_from_long(1)),
+  // std::cerr << msg->data() << std::endl;
+  CPPUNIT_ASSERT_EQUAL(s_p2, msg->port_id());
+  CPPUNIT_ASSERT(pmt_equal(pmt_list3(pmt_intern("top/c0/c0"), s_p1, 
pmt_from_long(1)),
                           msg->data()));
 }
-#endif





reply via email to

[Prev in Thread] Current Thread [Next in Thread]