init
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
// Substituted in via `go build -overlay` for the js/wasm build ONLY.
|
||||
//
|
||||
// Upstream common/bufio/vectorised_unix.go (build tag `!windows`) implements the
|
||||
// syscall-based vectorised writers using golang.org/x/sys/unix (Iovec, writev,
|
||||
// sendmsg). Those types are referenced by the cross-platform vectorised.go, so
|
||||
// the symbols must exist for the package to compile, but the code never runs
|
||||
// under wasm (a browser has no raw socket fds). This provides the same
|
||||
// identifiers with unix stripped out; the write paths return os.ErrInvalid.
|
||||
|
||||
package bufio
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
||||
"github.com/sagernet/sing/common/buf"
|
||||
M "github.com/sagernet/sing/common/metadata"
|
||||
)
|
||||
|
||||
// syscallVectorisedWriterFields is embedded into SyscallVectorisedWriter and
|
||||
// SyscallVectorisedPacketWriter (declared in vectorised.go). No fields are
|
||||
// needed for the wasm stub.
|
||||
type syscallVectorisedWriterFields struct{}
|
||||
|
||||
func (w *SyscallVectorisedWriter) WriteVectorised(buffers []*buf.Buffer) error {
|
||||
buf.ReleaseMulti(buffers)
|
||||
return os.ErrInvalid
|
||||
}
|
||||
|
||||
func (w *SyscallVectorisedPacketWriter) WriteVectorisedPacket(buffers []*buf.Buffer, destination M.Socksaddr) error {
|
||||
buf.ReleaseMulti(buffers)
|
||||
return os.ErrInvalid
|
||||
}
|
||||
Reference in New Issue
Block a user