Skip to content

Commit 873d0de

Browse files
committed
chore: make XorConn replaceable for splice
1 parent 7e0a77c commit 873d0de

File tree

1 file changed

+24
-0
lines changed
  • transport/vless/encryption

1 file changed

+24
-0
lines changed

transport/vless/encryption/xor.go

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -198,3 +198,27 @@ func (c *XorConn) Read(b []byte) (int, error) { // 5-bytes, data, 5-bytes...
198198
}
199199
return n, err
200200
}
201+
202+
func (c *XorConn) WriterReplaceable() bool {
203+
if !c.Divide { // never replaceable
204+
return false
205+
}
206+
if !c.out_after0 {
207+
return false
208+
}
209+
return true
210+
}
211+
212+
func (c *XorConn) ReaderReplaceable() bool {
213+
if !c.Divide { // never replaceable
214+
return false
215+
}
216+
if !c.in_after0 || !c.isHeader {
217+
return false
218+
}
219+
return true
220+
}
221+
222+
func (c *XorConn) Upstream() any {
223+
return c.Conn
224+
}

0 commit comments

Comments
 (0)