1
0
mirror of https://gitee.com/willfree/mlsr.git synced 2026-06-05 19:29:26 +08:00
Files
mlsr/lsa/AdjLsaLogicFaceUri.go
T
2022-05-26 21:13:57 +08:00

72 lines
1.5 KiB
Go

// Package lsa
// @Author: Wang Feng
// @Description:
// @Version: 0.1.0
// @Date: 2022/3/10 10:38
// @Copyright: MIN-Group;国家重大科技基础设施——未来网络北大实验室;深圳市信息论与未来网络重点实验室
//
package lsa
import (
"minlib/component"
"minlib/encoding"
"mlsr/extensions"
)
//
// AdjLsaLogicFaceUri
// @Description: MIR层级对LogicFace的描述。例子:udp://1.0.0.2
//
type AdjLsaLogicFaceUri struct {
component.CommonString
}
//
// LogicFaceUri
// @Description: 获取LogicFaceUri
// @receiver l
// @return string
//
func (l *AdjLsaLogicFaceUri) LogicFaceUri() string {
return l.CommonString.Value()
}
//
// SetLogicFaceUri
// @Description: 设置LogicFaceUri
// @receiver l
// @param logicFaceUri
//
func (l *AdjLsaLogicFaceUri) SetLogicFaceUri(logicFaceUri string) {
l.CommonString.SetValue(logicFaceUri)
}
//
// WireEncode
// @Description: 线速编码
// @receiver l
// @param encoder
// @return int
// @return error
//
func (l *AdjLsaLogicFaceUri) WireEncode(encoder *encoding.Encoder) (int, error) {
l.CommonString.SetTlvType(extensions.TlvMlsrAdjLsaLogicFaceUri)
return l.CommonString.WireEncode(encoder)
}
//
// WireDecode
// @Description: 线速解码
// @receiver l
// @param block
// @return error
//
func (l *AdjLsaLogicFaceUri) WireDecode(block *encoding.Block) error {
// 检查type是否正确
if err := encoding.ExpectType(block.GetType(), extensions.TlvMlsrAdjLsaLogicFaceUri); err != nil {
return err
}
return l.CommonString.WireDecode(block)
}