重构,用多态模式写数据发送和接收的代码。速度快了,可能和减少了判断有关。

This commit is contained in:
dmy@lab
2016-01-31 12:32:41 +08:00
parent dee06848fb
commit bdfcbbbda8
7 changed files with 288 additions and 108 deletions

View File

@@ -80,15 +80,9 @@ func (this *TransTCP) Start(listenPort, destIP, destPort string, clientOrServer
if clientOrServer == "client" { //加密方向
sendID := utils.TunnelID()
ntSend := model.NewTunnel(sendID, listenerConn, destConn, constant.SEND)
// ntSend.SetRegChan(tunMng.GetRegChan())
// ntSend.SetUnRegChan(tunMng.GetUnregChan())
receiveID := utils.TunnelID()
ntRev := model.NewTunnel(receiveID, destConn, listenerConn, constant.RECEIVE)
// ntRev.SetRegChan(tunMng.GetRegChan())
// ntRev.SetUnRegChan(tunMng.GetUnregChan())
printModelDetail(sendID, receiveID)
// go ntSend.Run()
// go ntRev.Run()
tunnelPair := model.NewTunnelPair(ntSend, ntRev)
tunnelPair.SetRegChan(tunMng.GetRegChan())
tunnelPair.SetUnRegChan(tunMng.GetUnregChan())
@@ -97,15 +91,9 @@ func (this *TransTCP) Start(listenPort, destIP, destPort string, clientOrServer
if clientOrServer == "server" {
receiveID := utils.TunnelID()
ntRev := model.NewTunnel(receiveID, listenerConn, destConn, constant.RECEIVE)
// ntRev.SetRegChan(tunMng.GetRegChan())
// ntRev.SetUnRegChan(tunMng.GetUnregChan())
sendID := utils.TunnelID()
ntSend := model.NewTunnel(sendID, destConn, listenerConn, constant.SEND)
// ntSend.SetRegChan(tunMng.GetRegChan())
// ntSend.SetUnRegChan(tunMng.GetUnregChan())
printModelDetail(sendID, receiveID)
// go ntRev.Run()
// go ntSend.Run()
tunnelPair := model.NewTunnelPair(ntSend, ntRev)
tunnelPair.SetRegChan(tunMng.GetRegChan())
tunnelPair.SetUnRegChan(tunMng.GetUnregChan())