func methodStreamWalk(s *gosnmp.GoSNMP, oid string) { fmt.Printf("methodStreamWalk: %v\n", oid) s.SetErrorDelayMs(cmdRetryDelayMs) s.SetRetryCnt(cmdRetryLimit) resChn, err := s.StreamWalk(oid, cmdDupFilterSize) if err != nil { fmt.Printf("Error getting response: %s\n", err.Error()) } else { idx := 0 for resp := range resChn { if resp.Err != nil { fmt.Printf("Error: %v\n", resp.Err) } else { idx += 1 if oid, err := parseOID(resp.PDU.Name); err == nil { if prefix, suffix, err := TranslateOIDFromCache(oid); err == nil { fmt.Printf("StreamWalk: (%d) prefix: %s, suffix: %s -> value: %v\n", idx, prefix, suffix, resp.PDU.Value) } else if prefix != "" { fmt.Printf("StreamWalk: (%d) prefix: %s, suffix: ---, err: %v -> value: %v\n", idx, prefix, err, resp.PDU.Value) } else { fmt.Printf("StreamWalk: (%d) oid: %v -> value: %v err: %v\n", idx, resp.PDU.Name, resp.PDU.Value, err) } } else { fmt.Printf("StreamWalk: ERROR: %v\n", err) } } } } }