diff options
| -rw-r--r-- | pkg/asn/lookup.go | 18 | ||||
| -rw-r--r-- | pkg/asn/mapping.go (renamed from asn/mapping.go) | 4 |
2 files changed, 20 insertions, 2 deletions
diff --git a/pkg/asn/lookup.go b/pkg/asn/lookup.go new file mode 100644 index 0000000..4851a6f --- /dev/null +++ b/pkg/asn/lookup.go @@ -0,0 +1,18 @@ +package asn + +var AsnTable AsnMap + +// Lookup return metadata of given AS +func Lookup(ASN int) AsnEntry { + if len(AsnTable) == 0 { + AsnTable = getMapping() + } + + return AsnTable[ASN] +} + +// IsDatacenter return bool value whether an AS is datajjij center or not +func IsDatacenter(ASN int) bool { + // TODO + return false +} diff --git a/asn/mapping.go b/pkg/asn/mapping.go index 79372a2..14272de 100644 --- a/asn/mapping.go +++ b/pkg/asn/mapping.go @@ -85,7 +85,7 @@ func parseMetadata(bytes []byte) ([]AsnEntry, error) { }
// GetMapping returns a pointer to ASN-metadata mappings
-func GetMapping() *AsnMap {
+func getMapping() AsnMap {
bytes, err := useAsnSource()
if err != nil {
log.Fatalln("Failed to load ASN metadata: ", err)
@@ -101,5 +101,5 @@ func GetMapping() *AsnMap { mapping[entry.ASN] = entry
}
- return &mapping
+ return mapping
}
|
