type VppAdapter struct {
callback func(context uint32, msgId uint16, data []byte)
- msgNameToIds *map[string]uint16
- msgIDsToName *map[uint16]string
+ msgNameToIds map[string]uint16
+ msgIDsToName map[uint16]string
msgIDSeq uint16
binAPITypes map[string]reflect.Type
access sync.RWMutex
a.access.Lock()
defer a.access.Unlock()
a.initMaps()
- msgName, found := (*a.msgIDsToName)[msgID]
+ msgName, found := a.msgIDsToName[msgID]
return msgName, found
}
defer a.access.Unlock()
a.initMaps()
- msgID, found := (*a.msgNameToIds)[msgName]
+ msgID, found := a.msgNameToIds[msgName]
if found {
return msgID, nil
}
a.msgIDSeq++
msgID = a.msgIDSeq
- (*a.msgNameToIds)[msgName] = msgID
- (*a.msgIDsToName)[msgID] = msgName
+ a.msgNameToIds[msgName] = msgID
+ a.msgIDsToName[msgID] = msgName
log.Println("VPP GetMessageId ", msgID, " name:", msgName, " crc:", msgCrc)
// initMaps initializes internal maps (if not already initialized).
func (a *VppAdapter) initMaps() {
if a.msgIDsToName == nil {
- a.msgIDsToName = &map[uint16]string{}
- a.msgNameToIds = &map[string]uint16{}
+ a.msgIDsToName = map[uint16]string{}
+ a.msgNameToIds = map[string]uint16{}
a.msgIDSeq = 1000
}
struc.Unpack(buf, &reqHeader)
a.access.Lock()
- reqMsgName, _ := (*a.msgIDsToName)[reqHeader.VlMsgID]
+ reqMsgName, _ := a.msgIDsToName[reqHeader.VlMsgID]
a.access.Unlock()
reply, msgID, finished := replyHandler(MessageDTO{reqHeader.VlMsgID, reqMsgName,