From c5154b3d85dc6f310f375c9037bc28000a7824e6 Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Mon, 20 Oct 2025 21:22:10 -0400 Subject: [PATCH] examples/chat: Regenerate protocol.go --- examples/chat/protocol.go | 109 ++++++++++++++++++++------------------ 1 file changed, 56 insertions(+), 53 deletions(-) diff --git a/examples/chat/protocol.go b/examples/chat/protocol.go index 0d7d344..970cda2 100644 --- a/examples/chat/protocol.go +++ b/examples/chat/protocol.go @@ -5,6 +5,7 @@ package chat // Please edit that file instead, and re-compile it to this location. // HOPP, TAPE, METADAPT, PDL/0 (c) 2025 holanet.xyz +import "fmt" import "git.tebibyte.media/sashakoshka/hopp" import "git.tebibyte.media/sashakoshka/hopp/tape" @@ -26,7 +27,9 @@ func Send(trans hopp.Trans, message Message) (n int, err error) { if err != nil { return n, err } defer writer.Close() encoder := tape.NewEncoder(writer) - return message.Encode(encoder) + n, err = message.Encode(encoder) + if err != nil { return n, err } + return n, encoder.Flush() } // canAssign determines if data from the given source tag can be assigned to @@ -81,29 +84,29 @@ func(this *MessageError) Encode(encoder *tape.Encoder) (n int, err error) { nn, err = encoder.WriteUintN(2, tag_1.CN() + 1) n += nn; if err != nil { return n, err } { - nn, err = encoder.WriteUint16(0x0000) - n += nn; if err != nil { return n, err } - tag_2 := tape.LI.WithCN(1) - nn, err = encoder.WriteUint8(uint8(tag_2)) - n += nn; if err != nil { return n, err } - nn, err = encoder.WriteUint16(uint16((*this).Code)) - n += nn; if err != nil { return n, err } if value, ok := (*this).Description.Value(); ok { nn, err = encoder.WriteUint16(0x0001) n += nn; if err != nil { return n, err } - tag_3 := tape.StringTag(string(value)) - nn, err = encoder.WriteUint8(uint8(tag_3)) + tag_2 := tape.StringTag(string(value)) + nn, err = encoder.WriteUint8(uint8(tag_2)) n += nn; if err != nil { return n, err } if len(value) > tape.MaxStructureLength { return n, tape.ErrTooLong } - if tag_3.Is(tape.LBA) { - nn, err = encoder.WriteUintN(uint64(len(value)), tag_3.CN()) + if tag_2.Is(tape.LBA) { + nn, err = encoder.WriteUintN(uint64(len(value)), tag_2.CN()) n += nn; if err != nil { return n, err } } nn, err = encoder.Write([]byte(value)) n += nn; if err != nil { return n, err } } + nn, err = encoder.WriteUint16(0x0000) + n += nn; if err != nil { return n, err } + tag_3 := tape.LI.WithCN(1) + nn, err = encoder.WriteUint8(uint8(tag_3)) + n += nn; if err != nil { return n, err } + nn, err = encoder.WriteUint16(uint16((*this).Code)) + n += nn; if err != nil { return n, err } } return n, nil } @@ -251,34 +254,34 @@ func(this *MessageChat) Encode(encoder *tape.Encoder) (n int, err error) { nn, err = encoder.WriteUintN(2, tag_8.CN() + 1) n += nn; if err != nil { return n, err } { - nn, err = encoder.WriteUint16(0x0001) - n += nn; if err != nil { return n, err } - tag_9 := tape.StringTag(string((*this).Nickname)) - nn, err = encoder.WriteUint8(uint8(tag_9)) - n += nn; if err != nil { return n, err } - if len((*this).Nickname) > tape.MaxStructureLength { - return n, tape.ErrTooLong - } - if tag_9.Is(tape.LBA) { - nn, err = encoder.WriteUintN(uint64(len((*this).Nickname)), tag_9.CN()) - n += nn; if err != nil { return n, err } - } - nn, err = encoder.Write([]byte((*this).Nickname)) - n += nn; if err != nil { return n, err } nn, err = encoder.WriteUint16(0x0000) n += nn; if err != nil { return n, err } - tag_10 := tape.StringTag(string((*this).Content)) - nn, err = encoder.WriteUint8(uint8(tag_10)) + tag_9 := tape.StringTag(string((*this).Content)) + nn, err = encoder.WriteUint8(uint8(tag_9)) n += nn; if err != nil { return n, err } if len((*this).Content) > tape.MaxStructureLength { return n, tape.ErrTooLong } - if tag_10.Is(tape.LBA) { - nn, err = encoder.WriteUintN(uint64(len((*this).Content)), tag_10.CN()) + if tag_9.Is(tape.LBA) { + nn, err = encoder.WriteUintN(uint64(len((*this).Content)), tag_9.CN()) n += nn; if err != nil { return n, err } } nn, err = encoder.Write([]byte((*this).Content)) n += nn; if err != nil { return n, err } + nn, err = encoder.WriteUint16(0x0001) + n += nn; if err != nil { return n, err } + tag_10 := tape.StringTag(string((*this).Nickname)) + nn, err = encoder.WriteUint8(uint8(tag_10)) + n += nn; if err != nil { return n, err } + if len((*this).Nickname) > tape.MaxStructureLength { + return n, tape.ErrTooLong + } + if tag_10.Is(tape.LBA) { + nn, err = encoder.WriteUintN(uint64(len((*this).Nickname)), tag_10.CN()) + n += nn; if err != nil { return n, err } + } + nn, err = encoder.Write([]byte((*this).Nickname)) + n += nn; if err != nil { return n, err } } return n, nil } @@ -695,36 +698,36 @@ func Receive(trans hopp.Trans) (message any, n int, err error) { decoder := tape.NewDecoder(reader) if err != nil { return nil, n, err } switch method { - case 0001: - var message MessageSuccess - nn, err := message.Decode(decoder) - n += nn; if err != nil { return nil, n, err } - return message, n, nil - case 0200: - var message MessageJoin - nn, err := message.Decode(decoder) - n += nn; if err != nil { return nil, n, err } - return message, n, nil - case 0300: - var message MessageChat - nn, err := message.Decode(decoder) - n += nn; if err != nil { return nil, n, err } - return message, n, nil - case 0400: - var message MessageJoinNotify - nn, err := message.Decode(decoder) - n += nn; if err != nil { return nil, n, err } - return message, n, nil - case 0401: + case 0x0401: var message MessageLeaveNotify nn, err := message.Decode(decoder) n += nn; if err != nil { return nil, n, err } return message, n, nil - case 0000: + case 0x0000: var message MessageError nn, err := message.Decode(decoder) n += nn; if err != nil { return nil, n, err } return message, n, nil + case 0x0001: + var message MessageSuccess + nn, err := message.Decode(decoder) + n += nn; if err != nil { return nil, n, err } + return message, n, nil + case 0x0200: + var message MessageJoin + nn, err := message.Decode(decoder) + n += nn; if err != nil { return nil, n, err } + return message, n, nil + case 0x0300: + var message MessageChat + nn, err := message.Decode(decoder) + n += nn; if err != nil { return nil, n, err } + return message, n, nil + case 0x0400: + var message MessageJoinNotify + nn, err := message.Decode(decoder) + n += nn; if err != nil { return nil, n, err } + return message, n, nil } - return nil, n, hopp.ErrUnknownMethod + return nil, n, fmt.Errorf("%w: M%04X", hopp.ErrUnknownMethod, method) }