unsigned int BufferedTransformation::ChannelPutModifiable2(const std::string &channel, byte *begin, unsigned int length, int messageEnd, bool blocking) { if (channel.empty()) return PutModifiable2(begin, length, messageEnd, blocking); else return ChannelPut2(channel, begin, length, messageEnd, blocking); }
size_t ChannelSwitch::ChannelPutModifiable2(const std::string &channel, byte *inString, size_t length, int messageEnd, bool blocking) { ChannelRouteIterator it(*this); it.Reset(channel); if (!it.End()) { BufferedTransformation &target = it.Destination(); const std::string &targetChannel = it.Channel(); it.Next(); if (it.End()) // there is only one target channel return target.ChannelPutModifiable2(targetChannel, inString, length, messageEnd, blocking); } return ChannelPut2(channel, inString, length, messageEnd, blocking); }