File tree Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Expand file tree Collapse file tree 1 file changed +33
-0
lines changed Original file line number Diff line number Diff line change 11package network
22
3+ import (
4+ "io"
5+
6+ "github.com/sagernet/sing/common"
7+ )
8+
9+ // Deprecated: use EarlyReader and EarlyWriter instead.
310type EarlyConn interface {
411 NeedHandshake () bool
512}
13+
14+ type EarlyReader interface {
15+ NeedHandshakeForRead () bool
16+ }
17+
18+ func NeedHandshakeForRead (reader io.Reader ) bool {
19+ if earlyReader , isEarlyReader := common.Cast [EarlyReader ](reader ); isEarlyReader && earlyReader .NeedHandshakeForRead () {
20+ return true
21+ }
22+ return false
23+ }
24+
25+ type EarlyWriter interface {
26+ NeedHandshakeForWrite () bool
27+ }
28+
29+ func NeedHandshakeForWrite (writer io.Writer ) bool {
30+ if //goland:noinspection GoDeprecation
31+ earlyConn , isEarlyConn := writer .(EarlyConn ); isEarlyConn {
32+ return earlyConn .NeedHandshake ()
33+ }
34+ if earlyWriter , isEarlyWriter := common.Cast [EarlyWriter ](writer ); isEarlyWriter && earlyWriter .NeedHandshakeForWrite () {
35+ return true
36+ }
37+ return false
38+ }
You can’t perform that action at this time.
0 commit comments