本文整理汇总了Golang中github.com/andres-erbsen/chatterbox/transport.Conn.SetDeadline方法的典型用法代码示例。如果您正苦于以下问题:Golang Conn.SetDeadline方法的具体用法?Golang Conn.SetDeadline怎么用?Golang Conn.SetDeadline使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/andres-erbsen/chatterbox/transport.Conn
的用法示例。
在下文中一共展示了Conn.SetDeadline方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: receiveProtobuf
func receiveProtobuf(conn *transport.Conn, inBuf []byte, t *testing.T) *proto.ServerToClient {
response := new(proto.ServerToClient)
conn.SetDeadline(time.Now().Add(time.Second))
num, err := conn.ReadFrame(inBuf)
handleError(err, t)
unpadMsg := proto.Unpad(inBuf[:num])
if err := response.Unmarshal(unpadMsg); err != nil {
t.Error(err)
}
if response.Status == nil {
t.Error("Server returned nil status.")
}
if *response.Status == proto.ServerToClient_PARSE_ERROR {
t.Error("Server threw a parse error.")
}
return response
}
示例2: ReceiveProtobuf
func ReceiveProtobuf(conn *transport.Conn, inBuf []byte) (*proto.ServerToClient, error) {
response := new(proto.ServerToClient)
conn.SetDeadline(time.Now().Add(time.Hour))
num, err := conn.ReadFrame(inBuf)
if err != nil {
return nil, err
}
unpadMsg := proto.Unpad(inBuf[:num])
if err := response.Unmarshal(unpadMsg); err != nil {
return nil, err
}
if response.Status == nil {
return nil, errors.New("Server returned nil status.")
}
if *response.Status != proto.ServerToClient_OK {
return nil, errors.New("Server did not return OK")
}
return response, nil
}