Files
mlsr/route/NamePrefixTableEntry_test.go

59 lines
1.4 KiB
Go

// Package route
// @Author: Wang Feng
// @Description:
// @Version: 0.1.0
// @Date: 2022/6/24 21:33
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
//
package route
import (
"fmt"
"minlib/component"
"testing"
)
//
// TestNamePrefixTable_AddEntry
// @Description: 名称前缀表,增加条目
// @param t
//
func TestNamePrefixTableEntry_AddEntry(t *testing.T) {
// 第一个RTPE
iden, _ := component.CreateIdentifierByString("/RouterC")
rtpe := new(RoutingTablePoolEntry)
rtpe.InitDest(iden, 123)
hop := new(NextHop)
hop.Init("tcp://1.1.1.1", 1)
rtpe.AddNextHop(hop)
// 名称前缀
namePrefix, _ := component.CreateIdentifierByString("/pku/pdf")
npte := new(NamePrefixTableEntry)
npte.Init(namePrefix)
// 打印该名称前缀
fmt.Println("名称前缀: ", npte.GetNamePrefix().ToUri())
// 增加rtpe
npte.AddRoutingTableEntry(rtpe)
fmt.Println(npte.ToString())
// 第二个rtpe
iden2, _ := component.CreateIdentifierByString("/RouterB")
rtpe2 := new(RoutingTablePoolEntry)
rtpe2.InitDest(iden2, 12)
hop2 := new(NextHop)
hop2.Init("tcp://1.1.1.0", 1)
rtpe2.AddNextHop(hop2)
npte.AddRoutingTableEntry(rtpe2)
// 生成下一跳列表
npte.GenerateNhlfromRteList()
fmt.Println(npte.ToString())
// 删除某个rtpe
npte.RemoveRoutingTableEntry(rtpe2)
fmt.Println(npte.ToString())
}