removed whileUnchanged for devices
[mTask.git] / Devices / mTaskTCP.icl
index 9d810ef..48dc193 100644 (file)
@@ -18,19 +18,25 @@ getmTaskTCPDevice = TCPDevice <$> enterInformation "Settings" []
 
 instance MTaskDuplex TCPSettings where
        synFun :: TCPSettings (Shared Channels) -> Task ()
-       synFun s channels =
-               tcpconnect s.host s.port channels {ConnectionHandlers|
+       synFun s channels
+       | not (trace_tn "synFun started") = undef
+       = tcpconnect s.host s.port channels {ConnectionHandlers|
                                onConnect=onConnect,
                                onData=onData,
                                onShareChange=onShareChange,
-                               onDisconnect=onDisconnect} @! ()
+                               onDisconnect=onDisconnect} >>= \_->viewInformation "done" [] "done" @! ()
                where
                        onConnect :: String ChD -> (MaybeErrorString String, Maybe ChD, [String], Bool)
-                       onConnect acc (msgs,send,sendStopped) = (Ok "", Just (msgs,[],sendStopped), map encode send, False)
+                       onConnect acc (msgs,send,sendStopped)
+                       | not (trace_tn "onConnect") = undef
+                       = (Ok "", Just (msgs,[],sendStopped), map encode send, False)
 
                        onData :: String String ChD -> (MaybeErrorString String, Maybe ChD, [String], Bool)
-                       onData newdata acc (msgs,send,True) = (Ok acc, Nothing, [], True)
+                       onData newdata acc (msgs,send,True)
+                       | not (trace_tn "onData: stop") = undef
+                       = (Ok acc, Nothing, [], 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)
                        # newMsg = decode (newdata % (0, split-1))
@@ -40,11 +46,19 @@ instance MTaskDuplex TCPSettings where
                        
                        onShareChange :: String ChD -> (MaybeErrorString String, Maybe ChD, [String], Bool)
                        // Stop!
-                        0onShareChange acc (msgs,send,True) = (Ok acc, Nothing, [], True)
+                       onShareChange acc (msgs,send,True)
+                       | not (trace_tn "onSC: stop") = undef
+                       = (Ok acc, Nothing, [], True)
                        // Nothing to send
-                       onShareChange acc (msgs,[], _) = (Ok acc, Nothing, [], False)
+                       onShareChange acc (msgs,[], _)
+                       | not (trace_tn "onSC: nothing") = undef
+                       = (Ok acc, Nothing, [], False)
                        // Something to send
-                       onShareChange acc (msgs,send, ss) = (Ok acc, Just (msgs,[],ss), map encode send, False)
+                       onShareChange acc (msgs,send, ss)
+                       | not (trace_tn "onSC: send") = undef
+                       = (Ok acc, Just (msgs,[],ss), map encode send, False)
 
                        onDisconnect :: String ChD -> (MaybeErrorString String, Maybe ChD)
-                       onDisconnect _ (msgs,send,_) = (Ok "", Just ([], [], True))
+                       onDisconnect _ (msgs,send,_)
+                       | not (trace_tn "ondisconnect") = undef
+                       = (Ok "", Just ([], [], True))