github.com/alejandroesc/spdy@v0.0.0-20200317064415-01a02f0eb389/spdy3/interface.go (about)

     1  package spdy3
     2  
     3  import (
     4  	"net"
     5  	"time"
     6  )
     7  
     8  func (c *Conn) CloseNotify() <-chan bool {
     9  	return c.stop
    10  }
    11  
    12  func (c *Conn) Conn() net.Conn {
    13  	return c.conn
    14  }
    15  
    16  func (c *Conn) SetReadTimeout(d time.Duration) {
    17  	c.timeoutLock.Lock()
    18  	c.readTimeout = d
    19  	c.timeoutLock.Unlock()
    20  }
    21  
    22  func (c *Conn) SetWriteTimeout(d time.Duration) {
    23  	c.timeoutLock.Lock()
    24  	c.writeTimeout = d
    25  	c.timeoutLock.Unlock()
    26  }
    27  
    28  func (c *Conn) refreshReadTimeout() {
    29  	c.timeoutLock.Lock()
    30  	if d := c.readTimeout; d != 0 && c.conn != nil {
    31  		c.conn.SetReadDeadline(time.Now().Add(d))
    32  	}
    33  	c.timeoutLock.Unlock()
    34  }
    35  
    36  func (c *Conn) refreshWriteTimeout() {
    37  	c.timeoutLock.Lock()
    38  	if d := c.writeTimeout; d != 0 && c.conn != nil {
    39  		c.conn.SetWriteDeadline(time.Now().Add(d))
    40  	}
    41  	c.timeoutLock.Unlock()
    42  }