// accept a delivered message from channelio void RRR_SERVER_MONITOR_CLASS::DeliverMessage( UMF_MESSAGE message) { // record channelID for backwards compatibility int channelID = message->GetChannelID(); int serviceID = message->GetServiceID(); // validate serviceID if (isServerRegistered(serviceID) == false) { fprintf(stderr, "software server: invalid serviceID: %u\n", serviceID); parent->CallbackExit(1); } // call service and obtain result UMF_MESSAGE result = ServerMap[serviceID]->Request(message); // see if we need to respond if (result) { // set serviceID result->SetServiceID(serviceID); // send to channelio... send on original virtual channel (BC) channelio->Write(channelID, result); } }