mirror of
https://github.com/bjdgyc/anylink.git
synced 2025-08-10 06:01:51 +08:00
增加基于tap设备的桥接访问模式
This commit is contained in:
47
handler/payload.go
Normal file
47
handler/payload.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package handler
|
||||
|
||||
import "github.com/bjdgyc/anylink/sessdata"
|
||||
|
||||
func payloadIn(sess *sessdata.ConnSession, lType sessdata.LType, pType byte, data []byte) bool {
|
||||
payload := &sessdata.Payload{
|
||||
LType: lType,
|
||||
PType: pType,
|
||||
Data: data,
|
||||
}
|
||||
|
||||
return payloadInData(sess, payload)
|
||||
}
|
||||
|
||||
func payloadInData(sess *sessdata.ConnSession, payload *sessdata.Payload) bool {
|
||||
closed := false
|
||||
|
||||
select {
|
||||
case sess.PayloadIn <- payload:
|
||||
case <-sess.CloseChan:
|
||||
closed = true
|
||||
}
|
||||
|
||||
return closed
|
||||
}
|
||||
|
||||
func payloadOut(sess *sessdata.ConnSession, lType sessdata.LType, pType byte, data []byte) bool {
|
||||
payload := &sessdata.Payload{
|
||||
LType: lType,
|
||||
PType: pType,
|
||||
Data: data,
|
||||
}
|
||||
|
||||
return payloadOutData(sess, payload)
|
||||
}
|
||||
|
||||
func payloadOutData(sess *sessdata.ConnSession, payload *sessdata.Payload) bool {
|
||||
closed := false
|
||||
|
||||
select {
|
||||
case sess.PayloadOut <- payload:
|
||||
case <-sess.CloseChan:
|
||||
closed = true
|
||||
}
|
||||
|
||||
return closed
|
||||
}
|
Reference in New Issue
Block a user