in src/datachannel/streaming.go [592:605]
func (dataChannel *DataChannel) processOutputMessageWithHandlers(log log.T, message message.ClientMessage) (isHandlerReady bool, err error) {
// Return false if sessionType is known but session specific handler is not set
if dataChannel.sessionType != "" && !dataChannel.isSessionSpecificHandlerSet {
return false, nil
}
for _, handler := range dataChannel.outputStreamHandlers {
isHandlerReady, err = handler(log, message)
// Break the processing of message and return if session specific handler is not ready
if err != nil || !isHandlerReady {
break
}
}
return isHandlerReady, err
}