本文整理汇总了Golang中github.com/grayzone/devicemonitor/conn.Setting.Maxretrycount方法的典型用法代码示例。如果您正苦于以下问题:Golang Setting.Maxretrycount方法的具体用法?Golang Setting.Maxretrycount怎么用?Golang Setting.Maxretrycount使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/grayzone/devicemonitor/conn.Setting
的用法示例。
在下文中一共展示了Setting.Maxretrycount方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: worker
func worker(t time.Duration) {
for {
time.Sleep(time.Millisecond * t)
// log.Println("working....")
var m conn.Message
err := m.GetOneResponse()
if err != nil {
// log.Println("worker:", err.Error())
continue
// log.Printf("get one response :%v", m)
}
// log.Println(m.Info)
b, err := hex.DecodeString(m.Info)
if err != nil {
log.Println(err.Error())
m.Status = conn.INVALID
m.UpdateStatus()
continue
}
var f ftprotocol.Frame
// log.Printf("%X", b)
s, err := f.Parse(b)
if err != nil {
log.Printf("%X:%s\n", b, err.Error())
// m.DeleteMessage()
m.Status = conn.INVALID
m.UpdateStatus()
continue
}
msgid, _ := strconv.ParseInt(string(f.MessageID), 16, 32)
switch msgid {
case ftprotocol.REQUESTSESSIONRESPONSE:
var sessionres ftprotocol.RequestSessionResponse
sessionres.Frame = f
err := sessionres.ParseMessageData(f.MessageData)
if err != nil {
log.Println(err.Error())
m.Status = conn.INVALID
m.UpdateStatus()
continue
}
var s conn.Setting
s.Sessionstatus = sessionres.SessionStatus
s.UpdateSessionStatus()
s.Sessiontimeout = sessionres.SessionTimeout
s.UpdateSessiontimeout()
s.Deviceid = conn.DeviceID(sessionres.DeviceID)
s.UpdateDeviceid()
s.Protocolver = strconv.FormatUint(uint64(sessionres.ProtocolVersion), 10)
s.UpdateProtocolVer()
s.Sessionkey = string(sessionres.SessionKey)
s.UpdateSessionKey()
s.Sequence = string(sessionres.Sequence)
s.UpdateSequence()
s.Messagetimeout = sessionres.MessageTimeout
s.UpdateMessagetimeout()
s.Maxretrycount = sessionres.MaxRetryCount
s.UpdateMaxretrycount()
case ftprotocol.DEVICENAMERESPONSE:
var res ftprotocol.DeviceNameResponse
res.Frame = f
err := res.ParseMessageData(f.MessageData)
if err != nil {
log.Println(err.Error())
m.Status = conn.INVALID
m.UpdateStatus()
continue
}
var s conn.Setting
// log.Println("device name : ", res.StringName)
s.Devicename = res.StringName
err = s.UpdateDevicename()
if err != nil {
log.Println("UpdateDevicename:", err.Error())
}
case ftprotocol.GETSENSORRESPONSE:
var res ftprotocol.GetSensorResponse
res.Frame = f
err := res.ParseMessageData(f.MessageData)
if err != nil {
log.Println("GETSENSORRESPONSE:", err.Error())
m.Status = conn.INVALID
m.UpdateStatus()
//.........这里部分代码省略.........