• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Golang xdr.ElementSizeExceeded函数代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Golang中github.com/calmh/xdr.ElementSizeExceeded函数的典型用法代码示例。如果您正苦于以下问题:Golang ElementSizeExceeded函数的具体用法?Golang ElementSizeExceeded怎么用?Golang ElementSizeExceeded使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。



在下文中一共展示了ElementSizeExceeded函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。

示例1: DecodeXDRFrom

func (o *Device) DecodeXDRFrom(xr *xdr.Reader) error {
	o.ID = xr.ReadBytesMax(32)
	o.Name = xr.ReadStringMax(64)
	_AddressesSize := int(xr.ReadUint32())
	if _AddressesSize < 0 {
		return xdr.ElementSizeExceeded("Addresses", _AddressesSize, 64)
	}
	if _AddressesSize > 64 {
		return xdr.ElementSizeExceeded("Addresses", _AddressesSize, 64)
	}
	o.Addresses = make([]string, _AddressesSize)
	for i := range o.Addresses {
		o.Addresses[i] = xr.ReadStringMax(2083)
	}
	o.Compression = xr.ReadUint32()
	o.CertName = xr.ReadStringMax(64)
	o.MaxLocalVersion = int64(xr.ReadUint64())
	o.Flags = xr.ReadUint32()
	_OptionsSize := int(xr.ReadUint32())
	if _OptionsSize < 0 {
		return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
	}
	if _OptionsSize > 64 {
		return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
	}
	o.Options = make([]Option, _OptionsSize)
	for i := range o.Options {
		(&o.Options[i]).DecodeXDRFrom(xr)
	}
	return xr.Error()
}
开发者ID:modulexcite,项目名称:relaysrv,代码行数:31,代码来源:message_xdr.go


示例2: DecodeXDRFrom

func (o *Folder) DecodeXDRFrom(xr *xdr.Reader) error {
	o.ID = xr.ReadStringMax(64)
	_DevicesSize := int(xr.ReadUint32())
	if _DevicesSize < 0 {
		return xdr.ElementSizeExceeded("Devices", _DevicesSize, 1000000)
	}
	if _DevicesSize > 1000000 {
		return xdr.ElementSizeExceeded("Devices", _DevicesSize, 1000000)
	}
	o.Devices = make([]Device, _DevicesSize)
	for i := range o.Devices {
		(&o.Devices[i]).DecodeXDRFrom(xr)
	}
	o.Flags = xr.ReadUint32()
	_OptionsSize := int(xr.ReadUint32())
	if _OptionsSize < 0 {
		return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
	}
	if _OptionsSize > 64 {
		return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
	}
	o.Options = make([]Option, _OptionsSize)
	for i := range o.Options {
		(&o.Options[i]).DecodeXDRFrom(xr)
	}
	return xr.Error()
}
开发者ID:oliviercoma,项目名称:syncthing,代码行数:27,代码来源:message_xdr.go


示例3: EncodeXDRInto

func (o IndexMessage) EncodeXDRInto(xw *xdr.Writer) (int, error) {
	if l := len(o.Folder); l > 256 {
		return xw.Tot(), xdr.ElementSizeExceeded("Folder", l, 256)
	}
	xw.WriteString(o.Folder)
	if l := len(o.Files); l > 1000000 {
		return xw.Tot(), xdr.ElementSizeExceeded("Files", l, 1000000)
	}
	xw.WriteUint32(uint32(len(o.Files)))
	for i := range o.Files {
		_, err := o.Files[i].EncodeXDRInto(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	xw.WriteUint32(o.Flags)
	if l := len(o.Options); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("Options", l, 64)
	}
	xw.WriteUint32(uint32(len(o.Options)))
	for i := range o.Options {
		_, err := o.Options[i].EncodeXDRInto(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	return xw.Tot(), xw.Error()
}
开发者ID:modulexcite,项目名称:relaysrv,代码行数:28,代码来源:message_xdr.go


示例4: EncodeXDRInto

func (o Device) EncodeXDRInto(xw *xdr.Writer) (int, error) {
	if l := len(o.ID); l > 32 {
		return xw.Tot(), xdr.ElementSizeExceeded("ID", l, 32)
	}
	xw.WriteBytes(o.ID)
	if l := len(o.Addresses); l > 16 {
		return xw.Tot(), xdr.ElementSizeExceeded("Addresses", l, 16)
	}
	xw.WriteUint32(uint32(len(o.Addresses)))
	for i := range o.Addresses {
		_, err := o.Addresses[i].EncodeXDRInto(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	if l := len(o.Relays); l > 16 {
		return xw.Tot(), xdr.ElementSizeExceeded("Relays", l, 16)
	}
	xw.WriteUint32(uint32(len(o.Relays)))
	for i := range o.Relays {
		_, err := o.Relays[i].EncodeXDRInto(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	return xw.Tot(), xw.Error()
}
开发者ID:wmwwmv,项目名称:syncthing,代码行数:27,代码来源:localpackets_xdr.go


示例5: EncodeXDRInto

func (o Folder) EncodeXDRInto(xw *xdr.Writer) (int, error) {
	if l := len(o.ID); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("ID", l, 64)
	}
	xw.WriteString(o.ID)
	if l := len(o.Devices); l > 1000000 {
		return xw.Tot(), xdr.ElementSizeExceeded("Devices", l, 1000000)
	}
	xw.WriteUint32(uint32(len(o.Devices)))
	for i := range o.Devices {
		_, err := o.Devices[i].EncodeXDRInto(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	xw.WriteUint32(o.Flags)
	if l := len(o.Options); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("Options", l, 64)
	}
	xw.WriteUint32(uint32(len(o.Options)))
	for i := range o.Options {
		_, err := o.Options[i].EncodeXDRInto(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	return xw.Tot(), xw.Error()
}
开发者ID:oliviercoma,项目名称:syncthing,代码行数:28,代码来源:message_xdr.go


示例6: MarshalXDRInto

func (o Folder) MarshalXDRInto(m *xdr.Marshaller) error {
	if l := len(o.ID); l > 256 {
		return xdr.ElementSizeExceeded("ID", l, 256)
	}
	m.MarshalString(o.ID)
	if l := len(o.Label); l > 256 {
		return xdr.ElementSizeExceeded("Label", l, 256)
	}
	m.MarshalString(o.Label)
	if l := len(o.Devices); l > 1000000 {
		return xdr.ElementSizeExceeded("Devices", l, 1000000)
	}
	m.MarshalUint32(uint32(len(o.Devices)))
	for i := range o.Devices {
		if err := o.Devices[i].MarshalXDRInto(m); err != nil {
			return err
		}
	}
	m.MarshalUint32(o.Flags)
	if l := len(o.Options); l > 64 {
		return xdr.ElementSizeExceeded("Options", l, 64)
	}
	m.MarshalUint32(uint32(len(o.Options)))
	for i := range o.Options {
		if err := o.Options[i].MarshalXDRInto(m); err != nil {
			return err
		}
	}
	return m.Error
}
开发者ID:carriercomm,项目名称:syncthing,代码行数:30,代码来源:message_xdr.go


示例7: MarshalXDRInto

func (o Device) MarshalXDRInto(m *xdr.Marshaller) error {
	if l := len(o.ID); l > 32 {
		return xdr.ElementSizeExceeded("ID", l, 32)
	}
	m.MarshalBytes(o.ID)
	if l := len(o.Addresses); l > 16 {
		return xdr.ElementSizeExceeded("Addresses", l, 16)
	}
	m.MarshalUint32(uint32(len(o.Addresses)))
	for i := range o.Addresses {
		if err := o.Addresses[i].MarshalXDRInto(m); err != nil {
			return err
		}
	}
	if l := len(o.Relays); l > 16 {
		return xdr.ElementSizeExceeded("Relays", l, 16)
	}
	m.MarshalUint32(uint32(len(o.Relays)))
	for i := range o.Relays {
		if err := o.Relays[i].MarshalXDRInto(m); err != nil {
			return err
		}
	}
	return m.Error
}
开发者ID:tcrutt,项目名称:syncthing,代码行数:25,代码来源:localpackets_xdr.go


示例8: encodeXDR

func (o ClusterConfigMessage) encodeXDR(xw *xdr.Writer) (int, error) {
	if l := len(o.ClientName); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("ClientName", l, 64)
	}
	xw.WriteString(o.ClientName)
	if l := len(o.ClientVersion); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("ClientVersion", l, 64)
	}
	xw.WriteString(o.ClientVersion)
	if l := len(o.Folders); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("Folders", l, 64)
	}
	xw.WriteUint32(uint32(len(o.Folders)))
	for i := range o.Folders {
		_, err := o.Folders[i].encodeXDR(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	if l := len(o.Options); l > 64 {
		return xw.Tot(), xdr.ElementSizeExceeded("Options", l, 64)
	}
	xw.WriteUint32(uint32(len(o.Options)))
	for i := range o.Options {
		_, err := o.Options[i].encodeXDR(xw)
		if err != nil {
			return xw.Tot(), err
		}
	}
	return xw.Tot(), xw.Error()
}
开发者ID:ericcapricorn,项目名称:syncthing,代码行数:31,代码来源:message_xdr.go


示例9: DecodeXDRFrom

func (o *Device) DecodeXDRFrom(xr *xdr.Reader) error {
	o.ID = xr.ReadBytesMax(32)
	_AddressesSize := int(xr.ReadUint32())
	if _AddressesSize < 0 {
		return xdr.ElementSizeExceeded("Addresses", _AddressesSize, 16)
	}
	if _AddressesSize > 16 {
		return xdr.ElementSizeExceeded("Addresses", _AddressesSize, 16)
	}
	o.Addresses = make([]string, _AddressesSize)
	for i := range o.Addresses {
		o.Addresses[i] = xr.ReadString()
	}
	_RelaysSize := int(xr.ReadUint32())
	if _RelaysSize < 0 {
		return xdr.ElementSizeExceeded("Relays", _RelaysSize, 16)
	}
	if _RelaysSize > 16 {
		return xdr.ElementSizeExceeded("Relays", _RelaysSize, 16)
	}
	o.Relays = make([]Relay, _RelaysSize)
	for i := range o.Relays {
		(&o.Relays[i]).DecodeXDRFrom(xr)
	}
	return xr.Error()
}
开发者ID:rwx-zwx-awx,项目名称:syncthing,代码行数:26,代码来源:packets_xdr.go


示例10: DecodeXDRFrom

func (o *TestStruct) DecodeXDRFrom(xr *xdr.Reader) error {
	o.I = int(xr.ReadUint64())
	o.I8 = int8(xr.ReadUint8())
	o.UI8 = xr.ReadUint8()
	o.I16 = int16(xr.ReadUint16())
	o.UI16 = xr.ReadUint16()
	o.I32 = int32(xr.ReadUint32())
	o.UI32 = xr.ReadUint32()
	o.I64 = int64(xr.ReadUint64())
	o.UI64 = xr.ReadUint64()
	o.BS = xr.ReadBytesMax(1024)
	o.S = xr.ReadStringMax(1024)
	(&o.C).DecodeXDRFrom(xr)
	_SSSize := int(xr.ReadUint32())
	if _SSSize < 0 {
		return xdr.ElementSizeExceeded("SS", _SSSize, 1024)
	}
	if _SSSize > 1024 {
		return xdr.ElementSizeExceeded("SS", _SSSize, 1024)
	}
	o.SS = make([]string, _SSSize)
	for i := range o.SS {
		o.SS[i] = xr.ReadString()
	}
	return xr.Error()
}
开发者ID:kattunga,项目名称:syncthing,代码行数:26,代码来源:encdec_xdr_test.go


示例11: EncodeXDRInto

func (o TestStruct) EncodeXDRInto(xw *xdr.Writer) (int, error) {
	xw.WriteUint64(uint64(o.I))
	xw.WriteUint8(uint8(o.I8))
	xw.WriteUint8(o.UI8)
	xw.WriteUint16(uint16(o.I16))
	xw.WriteUint16(o.UI16)
	xw.WriteUint32(uint32(o.I32))
	xw.WriteUint32(o.UI32)
	xw.WriteUint64(uint64(o.I64))
	xw.WriteUint64(o.UI64)
	if l := len(o.BS); l > 1024 {
		return xw.Tot(), xdr.ElementSizeExceeded("BS", l, 1024)
	}
	xw.WriteBytes(o.BS)
	if l := len(o.S); l > 1024 {
		return xw.Tot(), xdr.ElementSizeExceeded("S", l, 1024)
	}
	xw.WriteString(o.S)
	_, err := o.C.EncodeXDRInto(xw)
	if err != nil {
		return xw.Tot(), err
	}
	if l := len(o.SS); l > 1024 {
		return xw.Tot(), xdr.ElementSizeExceeded("SS", l, 1024)
	}
	xw.WriteUint32(uint32(len(o.SS)))
	for i := range o.SS {
		xw.WriteString(o.SS[i])
	}
	return xw.Tot(), xw.Error()
}
开发者ID:kattunga,项目名称:syncthing,代码行数:31,代码来源:encdec_xdr_test.go


示例12: MarshalXDRInto

func (o ClusterConfigMessage) MarshalXDRInto(m *xdr.Marshaller) error {
	if l := len(o.DeviceName); l > 64 {
		return xdr.ElementSizeExceeded("DeviceName", l, 64)
	}
	m.MarshalString(o.DeviceName)
	if l := len(o.ClientName); l > 64 {
		return xdr.ElementSizeExceeded("ClientName", l, 64)
	}
	m.MarshalString(o.ClientName)
	if l := len(o.ClientVersion); l > 64 {
		return xdr.ElementSizeExceeded("ClientVersion", l, 64)
	}
	m.MarshalString(o.ClientVersion)
	if l := len(o.Folders); l > 1000000 {
		return xdr.ElementSizeExceeded("Folders", l, 1000000)
	}
	m.MarshalUint32(uint32(len(o.Folders)))
	for i := range o.Folders {
		if err := o.Folders[i].MarshalXDRInto(m); err != nil {
			return err
		}
	}
	if l := len(o.Options); l > 64 {
		return xdr.ElementSizeExceeded("Options", l, 64)
	}
	m.MarshalUint32(uint32(len(o.Options)))
	for i := range o.Options {
		if err := o.Options[i].MarshalXDRInto(m); err != nil {
			return err
		}
	}
	return m.Error
}
开发者ID:hernad,项目名称:syncthing,代码行数:33,代码来源:message_xdr.go


示例13: UnmarshalXDRFrom

func (o *RequestMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
	o.Folder = u.UnmarshalStringMax(256)
	o.Name = u.UnmarshalStringMax(8192)
	o.Offset = int64(u.UnmarshalUint64())
	o.Size = int32(u.UnmarshalUint32())
	o.Hash = u.UnmarshalBytesMax(64)
	o.Flags = u.UnmarshalUint32()
	_OptionsSize := int(u.UnmarshalUint32())
	if _OptionsSize < 0 {
		return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
	} else if _OptionsSize == 0 {
		o.Options = nil
	} else {
		if _OptionsSize > 64 {
			return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
		}
		if _OptionsSize <= len(o.Options) {
			o.Options = o.Options[:_OptionsSize]
		} else {
			o.Options = make([]Option, _OptionsSize)
		}
		for i := range o.Options {
			(&o.Options[i]).UnmarshalXDRFrom(u)
		}
	}
	return u.Error
}
开发者ID:carriercomm,项目名称:syncthing,代码行数:27,代码来源:message_xdr.go


示例14: UnmarshalXDRFrom

func (o *TestStruct) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
	o.B = u.UnmarshalBool()
	o.I = int(u.UnmarshalUint64())
	o.I8 = int8(u.UnmarshalUint8())
	o.UI8 = u.UnmarshalUint8()
	o.I16 = int16(u.UnmarshalUint16())
	o.UI16 = u.UnmarshalUint16()
	o.I32 = int32(u.UnmarshalUint32())
	o.UI32 = u.UnmarshalUint32()
	o.I64 = int64(u.UnmarshalUint64())
	o.UI64 = u.UnmarshalUint64()
	o.BS = u.UnmarshalBytesMax(1024)
	o.S = u.UnmarshalStringMax(1024)
	(&o.C).UnmarshalXDRFrom(u)
	_SSSize := int(u.UnmarshalUint32())
	if _SSSize < 0 {
		return xdr.ElementSizeExceeded("SS", _SSSize, 1024)
	} else if _SSSize == 0 {
		o.SS = nil
	} else {
		if _SSSize > 1024 {
			return xdr.ElementSizeExceeded("SS", _SSSize, 1024)
		}
		if _SSSize <= len(o.SS) {
			for i := _SSSize; i < len(o.SS); i++ {
				o.SS[i] = ""
			}
			o.SS = o.SS[:_SSSize]
		} else {
			o.SS = make([]string, _SSSize)
		}
		for i := range o.SS {
			o.SS[i] = u.UnmarshalString()
		}
	}
	(&o.ES).UnmarshalXDRFrom(u)
	(&o.OS).UnmarshalXDRFrom(u)
	_OSsSize := int(u.UnmarshalUint32())
	if _OSsSize < 0 {
		return xdr.ElementSizeExceeded("OSs", _OSsSize, 0)
	} else if _OSsSize == 0 {
		o.OSs = nil
	} else {
		if _OSsSize <= len(o.OSs) {
			o.OSs = o.OSs[:_OSsSize]
		} else {
			o.OSs = make([]OtherStruct, _OSsSize)
		}
		for i := range o.OSs {
			(&o.OSs[i]).UnmarshalXDRFrom(u)
		}
	}
	return u.Error
}
开发者ID:letiemble,项目名称:syncthing,代码行数:54,代码来源:encdec_xdr_test.go


示例15: MarshalXDRInto

func (o Version13HelloMessage) MarshalXDRInto(m *xdr.Marshaller) error {
	if l := len(o.DeviceName); l > 64 {
		return xdr.ElementSizeExceeded("DeviceName", l, 64)
	}
	m.MarshalString(o.DeviceName)
	if l := len(o.ClientName); l > 64 {
		return xdr.ElementSizeExceeded("ClientName", l, 64)
	}
	m.MarshalString(o.ClientName)
	if l := len(o.ClientVersion); l > 64 {
		return xdr.ElementSizeExceeded("ClientVersion", l, 64)
	}
	m.MarshalString(o.ClientVersion)
	return m.Error
}
开发者ID:letiemble,项目名称:syncthing,代码行数:15,代码来源:hello_v0.13_xdr.go


示例16: EncodeXDRInto

func (o ConnectRequest) EncodeXDRInto(xw *xdr.Writer) (int, error) {
	if l := len(o.ID); l > 32 {
		return xw.Tot(), xdr.ElementSizeExceeded("ID", l, 32)
	}
	xw.WriteBytes(o.ID)
	return xw.Tot(), xw.Error()
}
开发者ID:readthecodes,项目名称:syncthing,代码行数:7,代码来源:packets_xdr.go



注:本文中的github.com/calmh/xdr.ElementSizeExceeded函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Golang xdr.NewReader函数代码示例发布时间:2022-05-23
下一篇:
Golang xdr.AppendWriter函数代码示例发布时间:2022-05-24
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap