mirror of
https://gitee.com/willfree/mlsr.git
synced 2026-10-04 19:42:02 +08:00
67 lines
1.4 KiB
Go
67 lines
1.4 KiB
Go
// Package lsa
|
|
// @Author: Wang Feng
|
|
// @Description:
|
|
// @Version: 0.1.0
|
|
// @Date: 2022/3/9 21:42
|
|
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
|
|
//
|
|
|
|
package lsa
|
|
|
|
import (
|
|
"minlib/component"
|
|
"minlib/encoding"
|
|
"mlsr/extensions"
|
|
)
|
|
|
|
type LsaSequenceNumber struct {
|
|
component.CommonUint64
|
|
}
|
|
|
|
//
|
|
// LsaSequenceNumber
|
|
// @Description: 获取LSA序列号
|
|
// @receiver l
|
|
// @return uint64
|
|
//
|
|
func (l *LsaSequenceNumber) LsaSequenceNumber() uint64 {
|
|
return l.CommonUint64.Value()
|
|
}
|
|
|
|
//
|
|
// SetLsaSequenceNumber
|
|
// @Description: 设置LSA序列号
|
|
// @receiver l
|
|
// @param seq
|
|
//
|
|
func (l *LsaSequenceNumber) SetLsaSequenceNumber(seq uint64) {
|
|
l.SetValue(seq)
|
|
}
|
|
|
|
//
|
|
// WireEncode
|
|
// @Description: 线速编码
|
|
// @receiver l
|
|
// @param encoder
|
|
// @return int
|
|
// @return error
|
|
//
|
|
func (l *LsaSequenceNumber) WireEncode(encoder *encoding.Encoder) (int, error) {
|
|
l.CommonUint64.SetTlvType(extensions.TlvMlsrLsaSequenceNumber)
|
|
return l.CommonUint64.WireEncode(encoder)
|
|
}
|
|
|
|
//
|
|
// WireDecode
|
|
// @Description: 线速解码
|
|
// @receiver l
|
|
// @param block
|
|
// @return error
|
|
//
|
|
func (l *LsaSequenceNumber) WireDecode(block *encoding.Block) error {
|
|
// 检查type是否正确
|
|
if err := encoding.ExpectType(block.GetType(),extensions.TlvMlsrLsaSequenceNumber); err!=nil {
|
|
return err
|
|
}
|
|
return l.CommonUint64.WireDecode(block)
|
|
} |