mirror of
https://gitee.com/willfree/mlsr.git
synced 2026-06-16 17:48:00 +08:00
110 lines
2.9 KiB
Go
110 lines
2.9 KiB
Go
// Package lsa
|
|
// @Author: Wang Feng
|
|
// @Description:
|
|
// @Version: 0.1.0
|
|
// @Date: 2022/3/25 22:45
|
|
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
|
//
|
|
|
|
package lsa
|
|
|
|
import (
|
|
"fmt"
|
|
"minlib/encoding"
|
|
"testing"
|
|
)
|
|
|
|
//
|
|
// TestNameLsaNamePrefixSource_SetNamePrefixSource
|
|
// @Description: 测试设置变量
|
|
// @param t
|
|
//
|
|
func TestNameLsaNamePrefixSource_SetNamePrefixSource(t *testing.T) {
|
|
testCPU := NameLsaNamePrefixSource{}
|
|
testCPU.SetNamePrefixSource("url")
|
|
fmt.Println(testCPU.NamePrefixSource())
|
|
}
|
|
|
|
//
|
|
// TestNameLsaNamePrefixSource_WireEncode
|
|
// @Description: 测试编码
|
|
// @param t
|
|
//
|
|
func TestNameLsaNamePrefixSource_WireEncode(t *testing.T) {
|
|
testCPU := new(NameLsaNamePrefixSource)
|
|
fmt.Println(testCPU.NamePrefixSource())
|
|
testCPU.SetNamePrefixSource("url")
|
|
fmt.Println(testCPU.NamePrefixSource())
|
|
//testCPC.SetTlvType(5)
|
|
fmt.Println(testCPU.Value())
|
|
var encoder encoding.Encoder
|
|
err := encoder.EncoderReset(encoding.MaxPacketSize, 0)
|
|
if err != nil {
|
|
fmt.Println("encoder.EncoderReset() failed", err)
|
|
return
|
|
}
|
|
a, err := testCPU.WireEncode(&encoder)
|
|
if err != nil {
|
|
fmt.Println("NameLsaNamePrefixSource.WireEncode() failed", err)
|
|
return
|
|
}
|
|
fmt.Println(a)
|
|
buf, err := encoder.GetBuffer()
|
|
if err != nil {
|
|
fmt.Println("encoder.GetBuffer() failed", err)
|
|
return
|
|
}
|
|
fmt.Println("interest buf", buf)
|
|
block, err := encoding.CreateBlockByBuffer(buf[:], false)
|
|
if err != nil {
|
|
fmt.Println("encoding.CreateBlockByBuffer() failed", err)
|
|
}
|
|
fmt.Println("interest block", block)
|
|
}
|
|
|
|
//
|
|
// TestNameLsaNamePrefixSource_WireDecode
|
|
// @Description: 测试解码
|
|
// @param t
|
|
//
|
|
func TestNameLsaNamePrefixSource_WireDecode(t *testing.T) {
|
|
testCPU := new(NameLsaNamePrefixSource)
|
|
fmt.Println("interest", testCPU.Value())
|
|
//testCPC.SetTlvType(5)
|
|
fmt.Println(testCPU.TlvType())
|
|
testCPU.SetNamePrefixSource("url")
|
|
fmt.Println("interest", testCPU.Value())
|
|
fmt.Println("interest", testCPU.IsInitial())
|
|
var encoder encoding.Encoder
|
|
err := encoder.EncoderReset(encoding.MaxPacketSize, 0)
|
|
if err != nil {
|
|
fmt.Println("encoder.EncoderReset() failed", err)
|
|
return
|
|
}
|
|
a, err := testCPU.WireEncode(&encoder)
|
|
if err != nil {
|
|
fmt.Println("NameLsaNamePrefixSource.WireEncode() failed", err)
|
|
}
|
|
fmt.Println(a)
|
|
buf, err := encoder.GetBuffer()
|
|
if err != nil {
|
|
fmt.Println("encoder.GetBuffer() failed:", err)
|
|
return
|
|
}
|
|
fmt.Println("interest buf", buf)
|
|
block, err := encoding.CreateBlockByBuffer(buf[:], false)
|
|
if err != nil {
|
|
fmt.Println("encoding.CreateBlockByBuffer() failed:", err)
|
|
return
|
|
}
|
|
fmt.Println("interest block", block)
|
|
interest1 := new(NameLsaNamePrefixSource)
|
|
err = interest1.WireDecode(block)
|
|
if err != nil {
|
|
fmt.Println("interest1.WireDecode() failed", err)
|
|
return
|
|
}
|
|
fmt.Println("interest1", interest1.Value())
|
|
fmt.Println("interest1", interest1.IsInitial())
|
|
}
|