本文整理汇总了C++中Msg::type方法的典型用法代码示例。如果您正苦于以下问题:C++ Msg::type方法的具体用法?C++ Msg::type怎么用?C++ Msg::type使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Msg
的用法示例。
在下文中一共展示了Msg::type方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: runtime_error
int
marshall(const Msg& inm, mutable_buffer<char> inb)
{
int newlen=inb.len()-HEAD_SIZE;
if(newlen<=0)
throw std::runtime_error("marshalling:: provided buffer is too small");
auto it = m_map.find(inm.type());
if(it==m_map.end())
throw std::runtime_error("marshalling:: message type not supported");
*(reinterpret_cast<int*>(inb.addr())) = htonl(inm.type());
int m_len = it->second->marshall(inm,mutable_buffer<char>(inb.addr()+HEAD_SIZE,newlen));
*(reinterpret_cast<unsigned int*>(inb.addr()+sizeof(int))) = htonl(m_len);
return m_len+HEAD_SIZE;
}