本文整理汇总了C++中gsm::L3Frame::primitive方法的典型用法代码示例。如果您正苦于以下问题:C++ L3Frame::primitive方法的具体用法?C++ L3Frame::primitive怎么用?C++ L3Frame::primitive使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类gsm::L3Frame
的用法示例。
在下文中一共展示了L3Frame::primitive方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ChannelReadTimeout
/**
Read an L3Frame from SAP3.
Throw exception on failure. Will NOT return a NULL pointer.
*/
GSM::L3Frame* getFrameSMS(GSM::LogicalChannel *LCH, GSM::Primitive primitive=GSM::DATA)
{
GSM::L3Frame *retVal = LCH->recv(LCH->N200()*LCH->T200(),3);
if (!retVal) {
LOG(NOTICE) << "channel read time out on " << *LCH << " SAP3";
throw ChannelReadTimeout();
}
LOG(DEBUG) << "getFrameSMS on " << *LCH << " in frame " << *retVal;
if (retVal->primitive() != primitive) {
LOG(NOTICE) << "unexpected primitive on " << *LCH << ", expecting " << primitive << ", got " << *retVal;
throw UnexpectedPrimitive();
}
if ((retVal->primitive() == GSM::DATA) && (retVal->PD() != GSM::L3SMSPD)) {
LOG(NOTICE) << "unexpected (non-SMS) protocol on " << *LCH << " in frame " << *retVal;
throw UnexpectedMessage();
}
return retVal;
}
示例2: ChannelReadTimeout
/**
Read an L3Frame from SAP3.
Throw exception on failure. Will NOT return a NULL pointer.
*/
GSM::L3Frame* getFrameSMS(UMTS::DCCHLogicalChannel *LCH, GSM::Primitive primitive=GSM::DATA)
{
// FIXME -- We need to determine a correct timeout value here.
GSM::L3Frame *retVal = LCH->recv(20000,3);
if (!retVal) {
LOG(NOTICE) << "channel read time out on " << *LCH << " SAP3";
throw ChannelReadTimeout();
}
LOG(DEBUG) << "getFrameSMS on " << *LCH << " in frame " << *retVal;
if (retVal->primitive() != primitive) {
LOG(NOTICE) << "unexpected primitive on " << *LCH << ", expecting " << primitive << ", got " << *retVal;
throw UnexpectedPrimitive();
}
if ((retVal->primitive() == GSM::DATA) && (retVal->PD() != GSM::L3SMSPD)) {
LOG(NOTICE) << "unexpected (non-SMS) protocol on " << *LCH << " in frame " << *retVal;
throw UnexpectedMessage();
}
return retVal;
}