examples/chat: Regenerate protocol.go
This commit is contained in:
parent
c2ce95021c
commit
c5154b3d85
@ -5,6 +5,7 @@ package chat
|
|||||||
// Please edit that file instead, and re-compile it to this location.
|
// Please edit that file instead, and re-compile it to this location.
|
||||||
// HOPP, TAPE, METADAPT, PDL/0 (c) 2025 holanet.xyz
|
// HOPP, TAPE, METADAPT, PDL/0 (c) 2025 holanet.xyz
|
||||||
|
|
||||||
|
import "fmt"
|
||||||
import "git.tebibyte.media/sashakoshka/hopp"
|
import "git.tebibyte.media/sashakoshka/hopp"
|
||||||
import "git.tebibyte.media/sashakoshka/hopp/tape"
|
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 }
|
if err != nil { return n, err }
|
||||||
defer writer.Close()
|
defer writer.Close()
|
||||||
encoder := tape.NewEncoder(writer)
|
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
|
// 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)
|
nn, err = encoder.WriteUintN(2, tag_1.CN() + 1)
|
||||||
n += nn; if err != nil { return n, err }
|
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 {
|
if value, ok := (*this).Description.Value(); ok {
|
||||||
nn, err = encoder.WriteUint16(0x0001)
|
nn, err = encoder.WriteUint16(0x0001)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
tag_3 := tape.StringTag(string(value))
|
tag_2 := tape.StringTag(string(value))
|
||||||
nn, err = encoder.WriteUint8(uint8(tag_3))
|
nn, err = encoder.WriteUint8(uint8(tag_2))
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
if len(value) > tape.MaxStructureLength {
|
if len(value) > tape.MaxStructureLength {
|
||||||
return n, tape.ErrTooLong
|
return n, tape.ErrTooLong
|
||||||
}
|
}
|
||||||
if tag_3.Is(tape.LBA) {
|
if tag_2.Is(tape.LBA) {
|
||||||
nn, err = encoder.WriteUintN(uint64(len(value)), tag_3.CN())
|
nn, err = encoder.WriteUintN(uint64(len(value)), tag_2.CN())
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
}
|
}
|
||||||
nn, err = encoder.Write([]byte(value))
|
nn, err = encoder.Write([]byte(value))
|
||||||
n += nn; if err != nil { return n, err }
|
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
|
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)
|
nn, err = encoder.WriteUintN(2, tag_8.CN() + 1)
|
||||||
n += nn; if err != nil { return n, err }
|
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)
|
nn, err = encoder.WriteUint16(0x0000)
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
tag_10 := tape.StringTag(string((*this).Content))
|
tag_9 := tape.StringTag(string((*this).Content))
|
||||||
nn, err = encoder.WriteUint8(uint8(tag_10))
|
nn, err = encoder.WriteUint8(uint8(tag_9))
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
if len((*this).Content) > tape.MaxStructureLength {
|
if len((*this).Content) > tape.MaxStructureLength {
|
||||||
return n, tape.ErrTooLong
|
return n, tape.ErrTooLong
|
||||||
}
|
}
|
||||||
if tag_10.Is(tape.LBA) {
|
if tag_9.Is(tape.LBA) {
|
||||||
nn, err = encoder.WriteUintN(uint64(len((*this).Content)), tag_10.CN())
|
nn, err = encoder.WriteUintN(uint64(len((*this).Content)), tag_9.CN())
|
||||||
n += nn; if err != nil { return n, err }
|
n += nn; if err != nil { return n, err }
|
||||||
}
|
}
|
||||||
nn, err = encoder.Write([]byte((*this).Content))
|
nn, err = encoder.Write([]byte((*this).Content))
|
||||||
n += nn; if err != nil { return n, err }
|
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
|
return n, nil
|
||||||
}
|
}
|
||||||
@ -695,36 +698,36 @@ func Receive(trans hopp.Trans) (message any, n int, err error) {
|
|||||||
decoder := tape.NewDecoder(reader)
|
decoder := tape.NewDecoder(reader)
|
||||||
if err != nil { return nil, n, err }
|
if err != nil { return nil, n, err }
|
||||||
switch method {
|
switch method {
|
||||||
case 0001:
|
case 0x0401:
|
||||||
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:
|
|
||||||
var message MessageLeaveNotify
|
var message MessageLeaveNotify
|
||||||
nn, err := message.Decode(decoder)
|
nn, err := message.Decode(decoder)
|
||||||
n += nn; if err != nil { return nil, n, err }
|
n += nn; if err != nil { return nil, n, err }
|
||||||
return message, n, nil
|
return message, n, nil
|
||||||
case 0000:
|
case 0x0000:
|
||||||
var message MessageError
|
var message MessageError
|
||||||
nn, err := message.Decode(decoder)
|
nn, err := message.Decode(decoder)
|
||||||
n += nn; if err != nil { return nil, n, err }
|
n += nn; if err != nil { return nil, n, err }
|
||||||
return message, n, nil
|
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)
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user