]> Cypherpunks.ru repositories - govpn.git/blobdiff - src/cypherpunks.ru/govpn/cmd/govpn-client/tcp.go
Refactor and simplify CPR work code
[govpn.git] / src / cypherpunks.ru / govpn / cmd / govpn-client / tcp.go
index 38a8cb5889ec7f5b241a6850c139b20ef6c1eb97..dc0eb6008a7ede9aa469bac0f553b15e7b7eae02 100644 (file)
@@ -88,23 +88,7 @@ HandshakeCycle:
                }
                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)
                break HandshakeCycle
        }
        if hs != nil {