예제 #1
0
void process_bundle( MarSystem * root_system, const osc::ReceivedBundle& bundle )
{
  // ignore bundle time tag for now
  for( osc::ReceivedBundle::const_iterator i = bundle.ElementsBegin();
       i != bundle.ElementsEnd(); ++i )
  {
    if( i->IsBundle() )
      process_bundle( root_system, osc::ReceivedBundle(*i) );
    else
      process_message( root_system, osc::ReceivedMessage(*i) );
  }
}
예제 #2
0
static void SendBundle(TCircularQueue<std::pair<FName, TArray<FOscDataElemStruct>>> & _pendingMessages, const osc::ReceivedBundle & bundle)
{
    const auto begin = bundle.ElementsBegin();
    const auto end = bundle.ElementsEnd();
    for(auto it = begin; it != end; ++it)
    {
        if(it->IsBundle())
        {
            SendBundle(_pendingMessages, osc::ReceivedBundle(*it));
        }
        else
        {
            SendMessage(_pendingMessages, osc::ReceivedMessage(*it));
        }
    }
}