本文整理汇总了Golang中net.Conn.SetWriteTimeout方法的典型用法代码示例。如果您正苦于以下问题:Golang Conn.SetWriteTimeout方法的具体用法?Golang Conn.SetWriteTimeout怎么用?Golang Conn.SetWriteTimeout使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.Conn
的用法示例。
在下文中一共展示了Conn.SetWriteTimeout方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: serveConnection
func (s *Server) serveConnection(conn net.Conn) {
defer conn.Close()
if s.ReadTimeout != 0 {
conn.SetReadTimeout(s.ReadTimeout)
}
if s.WriteTimeout != 0 {
conn.SetWriteTimeout(s.WriteTimeout)
}
br := bufio.NewReader(conn)
for {
t := &transaction{
server: s,
conn: conn,
br: br}
if err := t.prepare(); err != nil {
if err != os.EOF {
log.Println("twister: prepare failed", err)
}
break
}
t.invokeHandler()
if t.hijacked {
return
}
if err := t.finish(); err != nil {
log.Println("twister: finish failed", err)
break
}
if t.closeAfterResponse {
break
}
}
}
示例2: prepConn
// prepConn() takes a net.Conn and attaches a file descriptor release in its Close method
func (p *Proxy) prepConn(c net.Conn) (net.Conn, os.Error) {
c.(*net.TCPConn).SetKeepAlive(true)
err := c.SetReadTimeout(p.config.Timeout)
if err != nil {
log.Printf("Error TCP set read timeout: %s\n", err)
c.Close()
p.fdl.Unlock()
return c, err
}
err = c.SetWriteTimeout(p.config.Timeout)
if err != nil {
log.Printf("Error TCP set write timeout: %s\n", err)
c.Close()
p.fdl.Unlock()
return c, err
}
return util.NewRunOnCloseConn(c, func() { p.fdl.Unlock() }), nil
}