add confirmation to ReadWriteCloser should preserve message boundary

This commit is contained in:
Shelikhoo 2024-09-11 14:24:26 +01:00 committed by WofWca
parent 0d9bef7794
commit 3a2b2fc969
2 changed files with 21 additions and 6 deletions

View file

@ -7,18 +7,33 @@ import (
"time"
)
type ReadWriteCloserPreservesBoundary interface {
io.ReadWriteCloser
MessageBoundaryPreserved()
}
func ConfirmsReadWriteCloserPreservesMessageBoundary(rwc io.ReadWriteCloser) ReadWriteCloserPreservesBoundary {
return &messageBoundaryPreservedReadWriteCloser{rwc}
}
type messageBoundaryPreservedReadWriteCloser struct {
io.ReadWriteCloser
}
func (m *messageBoundaryPreservedReadWriteCloser) MessageBoundaryPreserved() {}
var errENOSYS = errors.New("not implemented")
func newPacketConnWrapper(localAddr, remoteAddr net.Addr, rwc io.ReadWriteCloser) net.PacketConn {
func newPacketConnWrapper(localAddr, remoteAddr net.Addr, rwc ReadWriteCloserPreservesBoundary) net.PacketConn {
return &packetConnWrapper{
ReadWriteCloser: rwc,
remoteAddr: remoteAddr,
localAddr: localAddr,
ReadWriteCloserPreservesBoundary: rwc,
remoteAddr: remoteAddr,
localAddr: localAddr,
}
}
type packetConnWrapper struct {
io.ReadWriteCloser
ReadWriteCloserPreservesBoundary
remoteAddr net.Addr
localAddr net.Addr
}