message_xdr.go 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110
  1. // ************************************************************
  2. // This file is automatically generated by genxdr. Do not edit.
  3. // ************************************************************
  4. package protocol
  5. import (
  6. "github.com/calmh/xdr"
  7. )
  8. /*
  9. IndexMessage Structure:
  10. 0 1 2 3
  11. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  12. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  13. / /
  14. \ Folder (length + padded data) \
  15. / /
  16. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  17. | Number of Files |
  18. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  19. / /
  20. \ Zero or more FileInfo Structures \
  21. / /
  22. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  23. | Flags |
  24. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  25. | Number of Options |
  26. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  27. / /
  28. \ Zero or more Option Structures \
  29. / /
  30. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  31. struct IndexMessage {
  32. string Folder<256>;
  33. FileInfo Files<1000000>;
  34. unsigned int Flags;
  35. Option Options<64>;
  36. }
  37. */
  38. func (o IndexMessage) XDRSize() int {
  39. return 4 + len(o.Folder) + xdr.Padding(len(o.Folder)) +
  40. 4 + xdr.SizeOfSlice(o.Files) + 4 +
  41. 4 + xdr.SizeOfSlice(o.Options)
  42. }
  43. func (o IndexMessage) MarshalXDR() ([]byte, error) {
  44. buf := make([]byte, o.XDRSize())
  45. m := &xdr.Marshaller{Data: buf}
  46. return buf, o.MarshalXDRInto(m)
  47. }
  48. func (o IndexMessage) MustMarshalXDR() []byte {
  49. bs, err := o.MarshalXDR()
  50. if err != nil {
  51. panic(err)
  52. }
  53. return bs
  54. }
  55. func (o IndexMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  56. if l := len(o.Folder); l > 256 {
  57. return xdr.ElementSizeExceeded("Folder", l, 256)
  58. }
  59. m.MarshalString(o.Folder)
  60. if l := len(o.Files); l > 1000000 {
  61. return xdr.ElementSizeExceeded("Files", l, 1000000)
  62. }
  63. m.MarshalUint32(uint32(len(o.Files)))
  64. for i := range o.Files {
  65. if err := o.Files[i].MarshalXDRInto(m); err != nil {
  66. return err
  67. }
  68. }
  69. m.MarshalUint32(o.Flags)
  70. if l := len(o.Options); l > 64 {
  71. return xdr.ElementSizeExceeded("Options", l, 64)
  72. }
  73. m.MarshalUint32(uint32(len(o.Options)))
  74. for i := range o.Options {
  75. if err := o.Options[i].MarshalXDRInto(m); err != nil {
  76. return err
  77. }
  78. }
  79. return m.Error
  80. }
  81. func (o *IndexMessage) UnmarshalXDR(bs []byte) error {
  82. u := &xdr.Unmarshaller{Data: bs}
  83. return o.UnmarshalXDRFrom(u)
  84. }
  85. func (o *IndexMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  86. o.Folder = u.UnmarshalStringMax(256)
  87. _FilesSize := int(u.UnmarshalUint32())
  88. if _FilesSize < 0 {
  89. return xdr.ElementSizeExceeded("Files", _FilesSize, 1000000)
  90. } else if _FilesSize == 0 {
  91. o.Files = nil
  92. } else {
  93. if _FilesSize > 1000000 {
  94. return xdr.ElementSizeExceeded("Files", _FilesSize, 1000000)
  95. }
  96. if _FilesSize <= len(o.Files) {
  97. o.Files = o.Files[:_FilesSize]
  98. } else {
  99. o.Files = make([]FileInfo, _FilesSize)
  100. }
  101. for i := range o.Files {
  102. (&o.Files[i]).UnmarshalXDRFrom(u)
  103. }
  104. }
  105. o.Flags = u.UnmarshalUint32()
  106. _OptionsSize := int(u.UnmarshalUint32())
  107. if _OptionsSize < 0 {
  108. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  109. } else if _OptionsSize == 0 {
  110. o.Options = nil
  111. } else {
  112. if _OptionsSize > 64 {
  113. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  114. }
  115. if _OptionsSize <= len(o.Options) {
  116. o.Options = o.Options[:_OptionsSize]
  117. } else {
  118. o.Options = make([]Option, _OptionsSize)
  119. }
  120. for i := range o.Options {
  121. (&o.Options[i]).UnmarshalXDRFrom(u)
  122. }
  123. }
  124. return u.Error
  125. }
  126. /*
  127. FileInfo Structure:
  128. 0 1 2 3
  129. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  130. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  131. / /
  132. \ Name (length + padded data) \
  133. / /
  134. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  135. | Flags |
  136. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  137. | |
  138. + Modified (64 bits) +
  139. | |
  140. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  141. / /
  142. \ Vector Structure \
  143. / /
  144. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  145. | |
  146. + Local Version (64 bits) +
  147. | |
  148. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  149. | Number of Blocks |
  150. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  151. / /
  152. \ Zero or more BlockInfo Structures \
  153. / /
  154. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  155. struct FileInfo {
  156. string Name<8192>;
  157. unsigned int Flags;
  158. hyper Modified;
  159. Vector Version;
  160. hyper LocalVersion;
  161. BlockInfo Blocks<10000000>;
  162. }
  163. */
  164. func (o FileInfo) XDRSize() int {
  165. return 4 + len(o.Name) + xdr.Padding(len(o.Name)) + 4 + 8 +
  166. o.Version.XDRSize() + 8 +
  167. 4 + xdr.SizeOfSlice(o.Blocks)
  168. }
  169. func (o FileInfo) MarshalXDR() ([]byte, error) {
  170. buf := make([]byte, o.XDRSize())
  171. m := &xdr.Marshaller{Data: buf}
  172. return buf, o.MarshalXDRInto(m)
  173. }
  174. func (o FileInfo) MustMarshalXDR() []byte {
  175. bs, err := o.MarshalXDR()
  176. if err != nil {
  177. panic(err)
  178. }
  179. return bs
  180. }
  181. func (o FileInfo) MarshalXDRInto(m *xdr.Marshaller) error {
  182. if l := len(o.Name); l > 8192 {
  183. return xdr.ElementSizeExceeded("Name", l, 8192)
  184. }
  185. m.MarshalString(o.Name)
  186. m.MarshalUint32(o.Flags)
  187. m.MarshalUint64(uint64(o.Modified))
  188. if err := o.Version.MarshalXDRInto(m); err != nil {
  189. return err
  190. }
  191. m.MarshalUint64(uint64(o.LocalVersion))
  192. if l := len(o.Blocks); l > 10000000 {
  193. return xdr.ElementSizeExceeded("Blocks", l, 10000000)
  194. }
  195. m.MarshalUint32(uint32(len(o.Blocks)))
  196. for i := range o.Blocks {
  197. if err := o.Blocks[i].MarshalXDRInto(m); err != nil {
  198. return err
  199. }
  200. }
  201. return m.Error
  202. }
  203. func (o *FileInfo) UnmarshalXDR(bs []byte) error {
  204. u := &xdr.Unmarshaller{Data: bs}
  205. return o.UnmarshalXDRFrom(u)
  206. }
  207. func (o *FileInfo) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  208. o.Name = u.UnmarshalStringMax(8192)
  209. o.Flags = u.UnmarshalUint32()
  210. o.Modified = int64(u.UnmarshalUint64())
  211. (&o.Version).UnmarshalXDRFrom(u)
  212. o.LocalVersion = int64(u.UnmarshalUint64())
  213. _BlocksSize := int(u.UnmarshalUint32())
  214. if _BlocksSize < 0 {
  215. return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 10000000)
  216. } else if _BlocksSize == 0 {
  217. o.Blocks = nil
  218. } else {
  219. if _BlocksSize > 10000000 {
  220. return xdr.ElementSizeExceeded("Blocks", _BlocksSize, 10000000)
  221. }
  222. if _BlocksSize <= len(o.Blocks) {
  223. o.Blocks = o.Blocks[:_BlocksSize]
  224. } else {
  225. o.Blocks = make([]BlockInfo, _BlocksSize)
  226. }
  227. for i := range o.Blocks {
  228. (&o.Blocks[i]).UnmarshalXDRFrom(u)
  229. }
  230. }
  231. return u.Error
  232. }
  233. /*
  234. BlockInfo Structure:
  235. 0 1 2 3
  236. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  237. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  238. | Size |
  239. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  240. / /
  241. \ Hash (length + padded data) \
  242. / /
  243. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  244. struct BlockInfo {
  245. int Size;
  246. opaque Hash<64>;
  247. }
  248. */
  249. func (o BlockInfo) XDRSize() int {
  250. return 4 +
  251. 4 + len(o.Hash) + xdr.Padding(len(o.Hash))
  252. }
  253. func (o BlockInfo) MarshalXDR() ([]byte, error) {
  254. buf := make([]byte, o.XDRSize())
  255. m := &xdr.Marshaller{Data: buf}
  256. return buf, o.MarshalXDRInto(m)
  257. }
  258. func (o BlockInfo) MustMarshalXDR() []byte {
  259. bs, err := o.MarshalXDR()
  260. if err != nil {
  261. panic(err)
  262. }
  263. return bs
  264. }
  265. func (o BlockInfo) MarshalXDRInto(m *xdr.Marshaller) error {
  266. m.MarshalUint32(uint32(o.Size))
  267. if l := len(o.Hash); l > 64 {
  268. return xdr.ElementSizeExceeded("Hash", l, 64)
  269. }
  270. m.MarshalBytes(o.Hash)
  271. return m.Error
  272. }
  273. func (o *BlockInfo) UnmarshalXDR(bs []byte) error {
  274. u := &xdr.Unmarshaller{Data: bs}
  275. return o.UnmarshalXDRFrom(u)
  276. }
  277. func (o *BlockInfo) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  278. o.Size = int32(u.UnmarshalUint32())
  279. o.Hash = u.UnmarshalBytesMax(64)
  280. return u.Error
  281. }
  282. /*
  283. RequestMessage Structure:
  284. 0 1 2 3
  285. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  286. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  287. / /
  288. \ Folder (length + padded data) \
  289. / /
  290. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  291. / /
  292. \ Name (length + padded data) \
  293. / /
  294. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  295. | |
  296. + Offset (64 bits) +
  297. | |
  298. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  299. | Size |
  300. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  301. / /
  302. \ Hash (length + padded data) \
  303. / /
  304. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  305. | Flags |
  306. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  307. | Number of Options |
  308. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  309. / /
  310. \ Zero or more Option Structures \
  311. / /
  312. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  313. struct RequestMessage {
  314. string Folder<256>;
  315. string Name<8192>;
  316. hyper Offset;
  317. int Size;
  318. opaque Hash<64>;
  319. unsigned int Flags;
  320. Option Options<64>;
  321. }
  322. */
  323. func (o RequestMessage) XDRSize() int {
  324. return 4 + len(o.Folder) + xdr.Padding(len(o.Folder)) +
  325. 4 + len(o.Name) + xdr.Padding(len(o.Name)) + 8 + 4 +
  326. 4 + len(o.Hash) + xdr.Padding(len(o.Hash)) + 4 +
  327. 4 + xdr.SizeOfSlice(o.Options)
  328. }
  329. func (o RequestMessage) MarshalXDR() ([]byte, error) {
  330. buf := make([]byte, o.XDRSize())
  331. m := &xdr.Marshaller{Data: buf}
  332. return buf, o.MarshalXDRInto(m)
  333. }
  334. func (o RequestMessage) MustMarshalXDR() []byte {
  335. bs, err := o.MarshalXDR()
  336. if err != nil {
  337. panic(err)
  338. }
  339. return bs
  340. }
  341. func (o RequestMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  342. if l := len(o.Folder); l > 256 {
  343. return xdr.ElementSizeExceeded("Folder", l, 256)
  344. }
  345. m.MarshalString(o.Folder)
  346. if l := len(o.Name); l > 8192 {
  347. return xdr.ElementSizeExceeded("Name", l, 8192)
  348. }
  349. m.MarshalString(o.Name)
  350. m.MarshalUint64(uint64(o.Offset))
  351. m.MarshalUint32(uint32(o.Size))
  352. if l := len(o.Hash); l > 64 {
  353. return xdr.ElementSizeExceeded("Hash", l, 64)
  354. }
  355. m.MarshalBytes(o.Hash)
  356. m.MarshalUint32(o.Flags)
  357. if l := len(o.Options); l > 64 {
  358. return xdr.ElementSizeExceeded("Options", l, 64)
  359. }
  360. m.MarshalUint32(uint32(len(o.Options)))
  361. for i := range o.Options {
  362. if err := o.Options[i].MarshalXDRInto(m); err != nil {
  363. return err
  364. }
  365. }
  366. return m.Error
  367. }
  368. func (o *RequestMessage) UnmarshalXDR(bs []byte) error {
  369. u := &xdr.Unmarshaller{Data: bs}
  370. return o.UnmarshalXDRFrom(u)
  371. }
  372. func (o *RequestMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  373. o.Folder = u.UnmarshalStringMax(256)
  374. o.Name = u.UnmarshalStringMax(8192)
  375. o.Offset = int64(u.UnmarshalUint64())
  376. o.Size = int32(u.UnmarshalUint32())
  377. o.Hash = u.UnmarshalBytesMax(64)
  378. o.Flags = u.UnmarshalUint32()
  379. _OptionsSize := int(u.UnmarshalUint32())
  380. if _OptionsSize < 0 {
  381. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  382. } else if _OptionsSize == 0 {
  383. o.Options = nil
  384. } else {
  385. if _OptionsSize > 64 {
  386. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  387. }
  388. if _OptionsSize <= len(o.Options) {
  389. o.Options = o.Options[:_OptionsSize]
  390. } else {
  391. o.Options = make([]Option, _OptionsSize)
  392. }
  393. for i := range o.Options {
  394. (&o.Options[i]).UnmarshalXDRFrom(u)
  395. }
  396. }
  397. return u.Error
  398. }
  399. /*
  400. ResponseMessage Structure:
  401. 0 1 2 3
  402. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  403. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  404. / /
  405. \ Data (length + padded data) \
  406. / /
  407. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  408. | Code |
  409. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  410. struct ResponseMessage {
  411. opaque Data<>;
  412. int Code;
  413. }
  414. */
  415. func (o ResponseMessage) XDRSize() int {
  416. return 4 + len(o.Data) + xdr.Padding(len(o.Data)) + 4
  417. }
  418. func (o ResponseMessage) MarshalXDR() ([]byte, error) {
  419. buf := make([]byte, o.XDRSize())
  420. m := &xdr.Marshaller{Data: buf}
  421. return buf, o.MarshalXDRInto(m)
  422. }
  423. func (o ResponseMessage) MustMarshalXDR() []byte {
  424. bs, err := o.MarshalXDR()
  425. if err != nil {
  426. panic(err)
  427. }
  428. return bs
  429. }
  430. func (o ResponseMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  431. m.MarshalBytes(o.Data)
  432. m.MarshalUint32(uint32(o.Code))
  433. return m.Error
  434. }
  435. func (o *ResponseMessage) UnmarshalXDR(bs []byte) error {
  436. u := &xdr.Unmarshaller{Data: bs}
  437. return o.UnmarshalXDRFrom(u)
  438. }
  439. func (o *ResponseMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  440. o.Data = u.UnmarshalBytes()
  441. o.Code = int32(u.UnmarshalUint32())
  442. return u.Error
  443. }
  444. /*
  445. ClusterConfigMessage Structure:
  446. 0 1 2 3
  447. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  448. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  449. / /
  450. \ Device Name (length + padded data) \
  451. / /
  452. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  453. / /
  454. \ Client Name (length + padded data) \
  455. / /
  456. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  457. / /
  458. \ Client Version (length + padded data) \
  459. / /
  460. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  461. | Number of Folders |
  462. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  463. / /
  464. \ Zero or more Folder Structures \
  465. / /
  466. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  467. | Number of Options |
  468. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  469. / /
  470. \ Zero or more Option Structures \
  471. / /
  472. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  473. struct ClusterConfigMessage {
  474. string DeviceName<64>;
  475. string ClientName<64>;
  476. string ClientVersion<64>;
  477. Folder Folders<1000000>;
  478. Option Options<64>;
  479. }
  480. */
  481. func (o ClusterConfigMessage) XDRSize() int {
  482. return 4 + len(o.DeviceName) + xdr.Padding(len(o.DeviceName)) +
  483. 4 + len(o.ClientName) + xdr.Padding(len(o.ClientName)) +
  484. 4 + len(o.ClientVersion) + xdr.Padding(len(o.ClientVersion)) +
  485. 4 + xdr.SizeOfSlice(o.Folders) +
  486. 4 + xdr.SizeOfSlice(o.Options)
  487. }
  488. func (o ClusterConfigMessage) MarshalXDR() ([]byte, error) {
  489. buf := make([]byte, o.XDRSize())
  490. m := &xdr.Marshaller{Data: buf}
  491. return buf, o.MarshalXDRInto(m)
  492. }
  493. func (o ClusterConfigMessage) MustMarshalXDR() []byte {
  494. bs, err := o.MarshalXDR()
  495. if err != nil {
  496. panic(err)
  497. }
  498. return bs
  499. }
  500. func (o ClusterConfigMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  501. if l := len(o.DeviceName); l > 64 {
  502. return xdr.ElementSizeExceeded("DeviceName", l, 64)
  503. }
  504. m.MarshalString(o.DeviceName)
  505. if l := len(o.ClientName); l > 64 {
  506. return xdr.ElementSizeExceeded("ClientName", l, 64)
  507. }
  508. m.MarshalString(o.ClientName)
  509. if l := len(o.ClientVersion); l > 64 {
  510. return xdr.ElementSizeExceeded("ClientVersion", l, 64)
  511. }
  512. m.MarshalString(o.ClientVersion)
  513. if l := len(o.Folders); l > 1000000 {
  514. return xdr.ElementSizeExceeded("Folders", l, 1000000)
  515. }
  516. m.MarshalUint32(uint32(len(o.Folders)))
  517. for i := range o.Folders {
  518. if err := o.Folders[i].MarshalXDRInto(m); err != nil {
  519. return err
  520. }
  521. }
  522. if l := len(o.Options); l > 64 {
  523. return xdr.ElementSizeExceeded("Options", l, 64)
  524. }
  525. m.MarshalUint32(uint32(len(o.Options)))
  526. for i := range o.Options {
  527. if err := o.Options[i].MarshalXDRInto(m); err != nil {
  528. return err
  529. }
  530. }
  531. return m.Error
  532. }
  533. func (o *ClusterConfigMessage) UnmarshalXDR(bs []byte) error {
  534. u := &xdr.Unmarshaller{Data: bs}
  535. return o.UnmarshalXDRFrom(u)
  536. }
  537. func (o *ClusterConfigMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  538. o.DeviceName = u.UnmarshalStringMax(64)
  539. o.ClientName = u.UnmarshalStringMax(64)
  540. o.ClientVersion = u.UnmarshalStringMax(64)
  541. _FoldersSize := int(u.UnmarshalUint32())
  542. if _FoldersSize < 0 {
  543. return xdr.ElementSizeExceeded("Folders", _FoldersSize, 1000000)
  544. } else if _FoldersSize == 0 {
  545. o.Folders = nil
  546. } else {
  547. if _FoldersSize > 1000000 {
  548. return xdr.ElementSizeExceeded("Folders", _FoldersSize, 1000000)
  549. }
  550. if _FoldersSize <= len(o.Folders) {
  551. o.Folders = o.Folders[:_FoldersSize]
  552. } else {
  553. o.Folders = make([]Folder, _FoldersSize)
  554. }
  555. for i := range o.Folders {
  556. (&o.Folders[i]).UnmarshalXDRFrom(u)
  557. }
  558. }
  559. _OptionsSize := int(u.UnmarshalUint32())
  560. if _OptionsSize < 0 {
  561. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  562. } else if _OptionsSize == 0 {
  563. o.Options = nil
  564. } else {
  565. if _OptionsSize > 64 {
  566. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  567. }
  568. if _OptionsSize <= len(o.Options) {
  569. o.Options = o.Options[:_OptionsSize]
  570. } else {
  571. o.Options = make([]Option, _OptionsSize)
  572. }
  573. for i := range o.Options {
  574. (&o.Options[i]).UnmarshalXDRFrom(u)
  575. }
  576. }
  577. return u.Error
  578. }
  579. /*
  580. Folder Structure:
  581. 0 1 2 3
  582. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  583. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  584. / /
  585. \ ID (length + padded data) \
  586. / /
  587. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  588. / /
  589. \ Label (length + padded data) \
  590. / /
  591. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  592. | Number of Devices |
  593. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  594. / /
  595. \ Zero or more Device Structures \
  596. / /
  597. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  598. | Flags |
  599. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  600. | Number of Options |
  601. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  602. / /
  603. \ Zero or more Option Structures \
  604. / /
  605. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  606. struct Folder {
  607. string ID<256>;
  608. string Label<256>;
  609. Device Devices<1000000>;
  610. unsigned int Flags;
  611. Option Options<64>;
  612. }
  613. */
  614. func (o Folder) XDRSize() int {
  615. return 4 + len(o.ID) + xdr.Padding(len(o.ID)) +
  616. 4 + len(o.Label) + xdr.Padding(len(o.Label)) +
  617. 4 + xdr.SizeOfSlice(o.Devices) + 4 +
  618. 4 + xdr.SizeOfSlice(o.Options)
  619. }
  620. func (o Folder) MarshalXDR() ([]byte, error) {
  621. buf := make([]byte, o.XDRSize())
  622. m := &xdr.Marshaller{Data: buf}
  623. return buf, o.MarshalXDRInto(m)
  624. }
  625. func (o Folder) MustMarshalXDR() []byte {
  626. bs, err := o.MarshalXDR()
  627. if err != nil {
  628. panic(err)
  629. }
  630. return bs
  631. }
  632. func (o Folder) MarshalXDRInto(m *xdr.Marshaller) error {
  633. if l := len(o.ID); l > 256 {
  634. return xdr.ElementSizeExceeded("ID", l, 256)
  635. }
  636. m.MarshalString(o.ID)
  637. if l := len(o.Label); l > 256 {
  638. return xdr.ElementSizeExceeded("Label", l, 256)
  639. }
  640. m.MarshalString(o.Label)
  641. if l := len(o.Devices); l > 1000000 {
  642. return xdr.ElementSizeExceeded("Devices", l, 1000000)
  643. }
  644. m.MarshalUint32(uint32(len(o.Devices)))
  645. for i := range o.Devices {
  646. if err := o.Devices[i].MarshalXDRInto(m); err != nil {
  647. return err
  648. }
  649. }
  650. m.MarshalUint32(o.Flags)
  651. if l := len(o.Options); l > 64 {
  652. return xdr.ElementSizeExceeded("Options", l, 64)
  653. }
  654. m.MarshalUint32(uint32(len(o.Options)))
  655. for i := range o.Options {
  656. if err := o.Options[i].MarshalXDRInto(m); err != nil {
  657. return err
  658. }
  659. }
  660. return m.Error
  661. }
  662. func (o *Folder) UnmarshalXDR(bs []byte) error {
  663. u := &xdr.Unmarshaller{Data: bs}
  664. return o.UnmarshalXDRFrom(u)
  665. }
  666. func (o *Folder) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  667. o.ID = u.UnmarshalStringMax(256)
  668. o.Label = u.UnmarshalStringMax(256)
  669. _DevicesSize := int(u.UnmarshalUint32())
  670. if _DevicesSize < 0 {
  671. return xdr.ElementSizeExceeded("Devices", _DevicesSize, 1000000)
  672. } else if _DevicesSize == 0 {
  673. o.Devices = nil
  674. } else {
  675. if _DevicesSize > 1000000 {
  676. return xdr.ElementSizeExceeded("Devices", _DevicesSize, 1000000)
  677. }
  678. if _DevicesSize <= len(o.Devices) {
  679. o.Devices = o.Devices[:_DevicesSize]
  680. } else {
  681. o.Devices = make([]Device, _DevicesSize)
  682. }
  683. for i := range o.Devices {
  684. (&o.Devices[i]).UnmarshalXDRFrom(u)
  685. }
  686. }
  687. o.Flags = u.UnmarshalUint32()
  688. _OptionsSize := int(u.UnmarshalUint32())
  689. if _OptionsSize < 0 {
  690. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  691. } else if _OptionsSize == 0 {
  692. o.Options = nil
  693. } else {
  694. if _OptionsSize > 64 {
  695. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  696. }
  697. if _OptionsSize <= len(o.Options) {
  698. o.Options = o.Options[:_OptionsSize]
  699. } else {
  700. o.Options = make([]Option, _OptionsSize)
  701. }
  702. for i := range o.Options {
  703. (&o.Options[i]).UnmarshalXDRFrom(u)
  704. }
  705. }
  706. return u.Error
  707. }
  708. /*
  709. Device Structure:
  710. 0 1 2 3
  711. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  712. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  713. / /
  714. \ ID (length + padded data) \
  715. / /
  716. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  717. / /
  718. \ Name (length + padded data) \
  719. / /
  720. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  721. | Number of Addresses |
  722. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  723. / /
  724. / /
  725. \ Addresses (length + padded data) \
  726. / /
  727. / /
  728. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  729. | Compression |
  730. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  731. / /
  732. \ Cert Name (length + padded data) \
  733. / /
  734. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  735. | |
  736. + Max Local Version (64 bits) +
  737. | |
  738. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  739. | Flags |
  740. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  741. | Number of Options |
  742. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  743. / /
  744. \ Zero or more Option Structures \
  745. / /
  746. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  747. struct Device {
  748. opaque ID<32>;
  749. string Name<64>;
  750. string Addresses<64>;
  751. unsigned int Compression;
  752. string CertName<64>;
  753. hyper MaxLocalVersion;
  754. unsigned int Flags;
  755. Option Options<64>;
  756. }
  757. */
  758. func (o Device) XDRSize() int {
  759. return 4 + len(o.ID) + xdr.Padding(len(o.ID)) +
  760. 4 + len(o.Name) + xdr.Padding(len(o.Name)) +
  761. 4 + xdr.SizeOfSlice(o.Addresses) + 4 +
  762. 4 + len(o.CertName) + xdr.Padding(len(o.CertName)) + 8 + 4 +
  763. 4 + xdr.SizeOfSlice(o.Options)
  764. }
  765. func (o Device) MarshalXDR() ([]byte, error) {
  766. buf := make([]byte, o.XDRSize())
  767. m := &xdr.Marshaller{Data: buf}
  768. return buf, o.MarshalXDRInto(m)
  769. }
  770. func (o Device) MustMarshalXDR() []byte {
  771. bs, err := o.MarshalXDR()
  772. if err != nil {
  773. panic(err)
  774. }
  775. return bs
  776. }
  777. func (o Device) MarshalXDRInto(m *xdr.Marshaller) error {
  778. if l := len(o.ID); l > 32 {
  779. return xdr.ElementSizeExceeded("ID", l, 32)
  780. }
  781. m.MarshalBytes(o.ID)
  782. if l := len(o.Name); l > 64 {
  783. return xdr.ElementSizeExceeded("Name", l, 64)
  784. }
  785. m.MarshalString(o.Name)
  786. if l := len(o.Addresses); l > 64 {
  787. return xdr.ElementSizeExceeded("Addresses", l, 64)
  788. }
  789. m.MarshalUint32(uint32(len(o.Addresses)))
  790. for i := range o.Addresses {
  791. m.MarshalString(o.Addresses[i])
  792. }
  793. m.MarshalUint32(o.Compression)
  794. if l := len(o.CertName); l > 64 {
  795. return xdr.ElementSizeExceeded("CertName", l, 64)
  796. }
  797. m.MarshalString(o.CertName)
  798. m.MarshalUint64(uint64(o.MaxLocalVersion))
  799. m.MarshalUint32(o.Flags)
  800. if l := len(o.Options); l > 64 {
  801. return xdr.ElementSizeExceeded("Options", l, 64)
  802. }
  803. m.MarshalUint32(uint32(len(o.Options)))
  804. for i := range o.Options {
  805. if err := o.Options[i].MarshalXDRInto(m); err != nil {
  806. return err
  807. }
  808. }
  809. return m.Error
  810. }
  811. func (o *Device) UnmarshalXDR(bs []byte) error {
  812. u := &xdr.Unmarshaller{Data: bs}
  813. return o.UnmarshalXDRFrom(u)
  814. }
  815. func (o *Device) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  816. o.ID = u.UnmarshalBytesMax(32)
  817. o.Name = u.UnmarshalStringMax(64)
  818. _AddressesSize := int(u.UnmarshalUint32())
  819. if _AddressesSize < 0 {
  820. return xdr.ElementSizeExceeded("Addresses", _AddressesSize, 64)
  821. } else if _AddressesSize == 0 {
  822. o.Addresses = nil
  823. } else {
  824. if _AddressesSize > 64 {
  825. return xdr.ElementSizeExceeded("Addresses", _AddressesSize, 64)
  826. }
  827. if _AddressesSize <= len(o.Addresses) {
  828. for i := _AddressesSize; i < len(o.Addresses); i++ {
  829. o.Addresses[i] = ""
  830. }
  831. o.Addresses = o.Addresses[:_AddressesSize]
  832. } else {
  833. o.Addresses = make([]string, _AddressesSize)
  834. }
  835. for i := range o.Addresses {
  836. o.Addresses[i] = u.UnmarshalStringMax(2083)
  837. }
  838. }
  839. o.Compression = u.UnmarshalUint32()
  840. o.CertName = u.UnmarshalStringMax(64)
  841. o.MaxLocalVersion = int64(u.UnmarshalUint64())
  842. o.Flags = u.UnmarshalUint32()
  843. _OptionsSize := int(u.UnmarshalUint32())
  844. if _OptionsSize < 0 {
  845. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  846. } else if _OptionsSize == 0 {
  847. o.Options = nil
  848. } else {
  849. if _OptionsSize > 64 {
  850. return xdr.ElementSizeExceeded("Options", _OptionsSize, 64)
  851. }
  852. if _OptionsSize <= len(o.Options) {
  853. o.Options = o.Options[:_OptionsSize]
  854. } else {
  855. o.Options = make([]Option, _OptionsSize)
  856. }
  857. for i := range o.Options {
  858. (&o.Options[i]).UnmarshalXDRFrom(u)
  859. }
  860. }
  861. return u.Error
  862. }
  863. /*
  864. Option Structure:
  865. 0 1 2 3
  866. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  867. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  868. / /
  869. \ Key (length + padded data) \
  870. / /
  871. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  872. / /
  873. \ Value (length + padded data) \
  874. / /
  875. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  876. struct Option {
  877. string Key<64>;
  878. string Value<1024>;
  879. }
  880. */
  881. func (o Option) XDRSize() int {
  882. return 4 + len(o.Key) + xdr.Padding(len(o.Key)) +
  883. 4 + len(o.Value) + xdr.Padding(len(o.Value))
  884. }
  885. func (o Option) MarshalXDR() ([]byte, error) {
  886. buf := make([]byte, o.XDRSize())
  887. m := &xdr.Marshaller{Data: buf}
  888. return buf, o.MarshalXDRInto(m)
  889. }
  890. func (o Option) MustMarshalXDR() []byte {
  891. bs, err := o.MarshalXDR()
  892. if err != nil {
  893. panic(err)
  894. }
  895. return bs
  896. }
  897. func (o Option) MarshalXDRInto(m *xdr.Marshaller) error {
  898. if l := len(o.Key); l > 64 {
  899. return xdr.ElementSizeExceeded("Key", l, 64)
  900. }
  901. m.MarshalString(o.Key)
  902. if l := len(o.Value); l > 1024 {
  903. return xdr.ElementSizeExceeded("Value", l, 1024)
  904. }
  905. m.MarshalString(o.Value)
  906. return m.Error
  907. }
  908. func (o *Option) UnmarshalXDR(bs []byte) error {
  909. u := &xdr.Unmarshaller{Data: bs}
  910. return o.UnmarshalXDRFrom(u)
  911. }
  912. func (o *Option) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  913. o.Key = u.UnmarshalStringMax(64)
  914. o.Value = u.UnmarshalStringMax(1024)
  915. return u.Error
  916. }
  917. /*
  918. CloseMessage Structure:
  919. 0 1 2 3
  920. 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
  921. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  922. / /
  923. \ Reason (length + padded data) \
  924. / /
  925. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  926. | Code |
  927. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  928. struct CloseMessage {
  929. string Reason<1024>;
  930. int Code;
  931. }
  932. */
  933. func (o CloseMessage) XDRSize() int {
  934. return 4 + len(o.Reason) + xdr.Padding(len(o.Reason)) + 4
  935. }
  936. func (o CloseMessage) MarshalXDR() ([]byte, error) {
  937. buf := make([]byte, o.XDRSize())
  938. m := &xdr.Marshaller{Data: buf}
  939. return buf, o.MarshalXDRInto(m)
  940. }
  941. func (o CloseMessage) MustMarshalXDR() []byte {
  942. bs, err := o.MarshalXDR()
  943. if err != nil {
  944. panic(err)
  945. }
  946. return bs
  947. }
  948. func (o CloseMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  949. if l := len(o.Reason); l > 1024 {
  950. return xdr.ElementSizeExceeded("Reason", l, 1024)
  951. }
  952. m.MarshalString(o.Reason)
  953. m.MarshalUint32(uint32(o.Code))
  954. return m.Error
  955. }
  956. func (o *CloseMessage) UnmarshalXDR(bs []byte) error {
  957. u := &xdr.Unmarshaller{Data: bs}
  958. return o.UnmarshalXDRFrom(u)
  959. }
  960. func (o *CloseMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  961. o.Reason = u.UnmarshalStringMax(1024)
  962. o.Code = int32(u.UnmarshalUint32())
  963. return u.Error
  964. }
  965. /*
  966. EmptyMessage Structure:
  967. (contains no fields)
  968. struct EmptyMessage {
  969. }
  970. */
  971. func (o EmptyMessage) XDRSize() int {
  972. return 0
  973. }
  974. func (o EmptyMessage) MarshalXDR() ([]byte, error) {
  975. return nil, nil
  976. }
  977. func (o EmptyMessage) MustMarshalXDR() []byte {
  978. return nil
  979. }
  980. func (o EmptyMessage) MarshalXDRInto(m *xdr.Marshaller) error {
  981. return nil
  982. }
  983. func (o *EmptyMessage) UnmarshalXDR(bs []byte) error {
  984. return nil
  985. }
  986. func (o *EmptyMessage) UnmarshalXDRFrom(u *xdr.Unmarshaller) error {
  987. return nil
  988. }