From 2c5bfa5c2db0c121d0603a37343f11db7ac39505 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=BA=90=E6=96=87=E9=9B=A8?= <41315874+fumiama@users.noreply.github.com> Date: Tue, 25 Feb 2025 22:44:14 +0900 Subject: [PATCH] optimize(helper): writer decl. --- gold/link/recv.go | 2 +- gold/p2p/tcp/pdu.go | 2 +- helper/writer.go | 38 ++++++++++++++++++++++---------------- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/gold/link/recv.go b/gold/link/recv.go index f2b3bb4..89cd1ca 100644 --- a/gold/link/recv.go +++ b/gold/link/recv.go @@ -46,7 +46,7 @@ func (m *Me) wait(data []byte) *orbyte.Item[head.Packet] { } return nil } - data = w.TransBytes() + data = w.TransUnderlyingBytes() if len(data) < bound { bound = len(data) endl = "." diff --git a/gold/p2p/tcp/pdu.go b/gold/p2p/tcp/pdu.go index 6a1e518..6346786 100644 --- a/gold/p2p/tcp/pdu.go +++ b/gold/p2p/tcp/pdu.go @@ -80,7 +80,7 @@ func (p *packet) ReadFrom(r io.Reader) (n int64, err error) { if err != nil { return } - p.dat = w.TransBytes() + p.dat = w.TransUnderlyingBytes() return } diff --git a/helper/writer.go b/helper/writer.go index f1607dd..8e9d627 100644 --- a/helper/writer.go +++ b/helper/writer.go @@ -5,7 +5,6 @@ package helper import ( "bytes" "encoding/binary" - "encoding/hex" "github.com/fumiama/orbyte" "github.com/fumiama/orbyte/pbuf" @@ -17,20 +16,23 @@ type Writer orbyte.Item[bytes.Buffer] func NewWriterF(f func(writer *Writer)) pbuf.Bytes { w := SelectWriter() f(w) - return pbuf.BufferItemToBytes((*orbyte.Item[bytes.Buffer])(w).Trans()) + return w.TransBytes() +} + +func (w *Writer) p() *orbyte.Item[bytes.Buffer] { + return (*orbyte.Item[bytes.Buffer])(w) +} + +func (w *Writer) pp() *bytes.Buffer { + return w.p().Pointer() } func (w *Writer) Write(b []byte) (n int, err error) { - return (*orbyte.Item[bytes.Buffer])(w).Pointer().Write(b) -} - -func (w *Writer) WriteHex(h string) { - b, _ := hex.DecodeString(h) - w.Write(b) + return w.pp().Write(b) } func (w *Writer) WriteByte(b byte) error { - return (*orbyte.Item[bytes.Buffer])(w).Pointer().WriteByte(b) + return w.pp().WriteByte(b) } func (w *Writer) WriteUInt16(v uint16) { @@ -53,25 +55,29 @@ func (w *Writer) WriteUInt64(v uint64) { func (w *Writer) WriteString(v string) { //w.WriteUInt32(uint32(len(v) + 4)) - (*orbyte.Item[bytes.Buffer])(w).Pointer().WriteString(v) + w.pp().WriteString(v) } func (w *Writer) Len() int { - return (*orbyte.Item[bytes.Buffer])(w).Pointer().Len() + return w.pp().Len() } func (w *Writer) UnsafeBytes() []byte { - return (*orbyte.Item[bytes.Buffer])(w).Pointer().Bytes() + return w.pp().Bytes() } -func (w *Writer) TransBytes() []byte { - return (*orbyte.Item[bytes.Buffer])(w).Trans().Pointer().Bytes() +func (w *Writer) TransUnderlyingBytes() []byte { + return w.p().Trans().Pointer().Bytes() +} + +func (w *Writer) TransBytes() pbuf.Bytes { + return pbuf.BufferItemToBytes(w.p().Trans()) } func (w *Writer) Reset() { - (*orbyte.Item[bytes.Buffer])(w).Pointer().Reset() + w.pp().Reset() } func (w *Writer) Grow(n int) { - (*orbyte.Item[bytes.Buffer])(w).Pointer().Grow(n) + w.pp().Grow(n) }