// Listing 1 code/ch13 int ACE_TMAIN (int, ACE_TCHAR *[]) { HA_CommandHandler hp_handler ("HighPriority"); hp_handler.activate (THR_NEW_LWP | THR_JOINABLE, 1, 1, ACE_THR_PRI_OTHER_MAX); HA_CommandHandler lp_handler ("LowPriority"); lp_handler.activate (THR_NEW_LWP | THR_JOINABLE, 1, 1, ACE_THR_PRI_OTHER_DEF); ACE_Message_Block mb; for (int i = 0; i < 100; i++) { ACE_Message_Block *mb_hp, *mb_lp; mb_hp = mb.clone (); mb_lp = mb.clone (); hp_handler.putq (mb_hp); lp_handler.putq (mb_lp); } ACE_Message_Block stop (0, ACE_Message_Block::MB_BREAK); hp_handler.putq (stop.clone ()); lp_handler.putq (stop.clone ()); hp_handler.wait (); lp_handler.wait (); return 0; }
CmResult COFP13PacketOutMsg::AppendPacketData(ACE_Message_Block &data) { if (m_PacketData) { m_PacketData->append(data.clone()); } else { m_PacketData = data.clone(); } return CM_OK; }
CmResult COFP10PacketOutMsg::AppendPacketData(ACE_Message_Block &aData) { if (m_PacketData != nullptr) { m_PacketData->append(aData.clone()); } else { m_PacketData = aData.clone(); } m_wDataLen += aData.total_length(); return CM_OK; }