Skip to content

Commit 09f21b1

Browse files
committed
Refactor
1 parent 787aa43 commit 09f21b1

1 file changed

Lines changed: 7 additions & 12 deletions

File tree

conn.go

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff 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
}

0 commit comments

Comments
 (0)