onConnect :: String ChD -> (MaybeErrorString String, Maybe ChD, [String], Bool)
onConnect acc (msgs,send,sendStopped)
| not (trace_tn "onConnect") = undef
- = (Ok "", Just (msgs,[],sendStopped), map encode send, False)
+ | isEmpty send = (Ok "", Nothing, [], False)
+ = (Ok "", Just (msgs, [], sendStopped), map encode send, False)
onData :: String String ChD -> (MaybeErrorString String, Maybe ChD, [String], Bool)
onData newdata acc (msgs,send,True)
onData newdata acc (msgs,send,sendStopped)
| not (trace_tn "onData: notstop") = undef
# split = indexOf "\n" newdata
- | split == -1 = (Ok acc, Just (msgs, send, True), [], False)
+ | split == -1 = (Ok acc, Just (msgs, send, False), [], False)
# newMsg = decode (newdata % (0, split-1))
// Recurse with smaller data, empty accumulator and new message
= onData (newdata % (split+1, size newdata - split))
| not (trace_tn "onSC: stop") = undef
= (Ok acc, Nothing, [], True)
// Nothing to send
- onShareChange acc (msgs,[], _)
- | not (trace_tn "onSC: nothing") = undef
- = (Ok acc, Nothing, [], False)
+ onShareChange acc (msgs,[], _) = (Ok acc, Nothing, [], False)
// Something to send
onShareChange acc (msgs,send, ss)
| not (trace_tn "onSC: send") = undef