Files
mlsr/route/ConnectingLogicFaceUri.go

72 lines
1.6 KiB
Go

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