]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/cmd/govpn-client/udp.go
Refactor and simplify CPR work code
[govpn.git] / src / cypherpunks.ru / govpn / cmd / govpn-client / udp.go
index abbbf070da86565e7a2af690b19e3e1ce9b8e6bd..96dbfba418822b9833c40ffd7154070a11c3c8b6 100644 (file)
@@ -94,23 +94,7 @@ MainCycle:
                }
                hs.Zero()
                terminator = make(chan struct{})
-               go func() {
-                       heartbeat := time.NewTicker(peer.Timeout)
-                       var data []byte
-               Processor:
-                       for {
-                               select {
-                               case <-heartbeat.C:
-                                       peer.EthProcess(nil)
-                               case <-terminator:
-                                       break Processor
-                               case data = <-tap.Sink:
-                                       peer.EthProcess(data)
-                               }
-                       }
-                       heartbeat.Stop()
-                       peer.Zero()
-               }()
+               go govpn.PeerTapProcessor(peer, tap, terminator)
        }
        if terminator != nil {
                terminator <- struct{}{}