File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -779,7 +779,7 @@ func (c *Conn) InjectPacket(p []byte, rAddr net.Addr) {
779779 c .packetInject <- addrPkt {rAddr , p }
780780}
781781
782- func (c * Conn ) readAndBuffer (ctx context.Context ) error { //nolint:cyclop
782+ func (c * Conn ) nextPacket (ctx context.Context ) ([] byte , net. Addr , error ) {
783783 type readResult struct {
784784 data []byte
785785 rAddr net.Addr
@@ -813,23 +813,18 @@ func (c *Conn) readAndBuffer(ctx context.Context) error { //nolint:cyclop
813813 rAddr : rAddr ,
814814 }
815815 }()
816-
817- var data []byte
818- var rAddr net.Addr
819- var err error
820-
821816 select {
822817 case p := <- c .packetInject :
823- data = p .data
824- rAddr = p .rAddr
818+ return p .data , p .rAddr , nil
825819 case p := <- readCh :
826- data = p .data
827- rAddr = p .rAddr
828- err = p .err
820+ return p .data , p .rAddr , p .err
829821 case <- ctx .Done ():
830- err = ctx .Err ()
822+ return nil , nil , ctx .Err ()
831823 }
824+ }
832825
826+ func (c * Conn ) readAndBuffer (ctx context.Context ) error { //nolint:cyclop
827+ data , rAddr , err := c .nextPacket (ctx )
833828 if err != nil {
834829 return netError (err )
835830 }
You can’t perform that action at this time.
0 commit comments