mirror of https://github.com/v2ray/v2ray-core
use compact in tls writer
parent
c72d853454
commit
41b1ac192e
|
@ -15,19 +15,14 @@ var (
|
||||||
|
|
||||||
type conn struct {
|
type conn struct {
|
||||||
*tls.Conn
|
*tls.Conn
|
||||||
|
|
||||||
mergingWriter *buf.BufferedWriter
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *conn) WriteMultiBuffer(mb buf.MultiBuffer) error {
|
func (c *conn) WriteMultiBuffer(mb buf.MultiBuffer) error {
|
||||||
if c.mergingWriter == nil {
|
mb = buf.Compact(mb)
|
||||||
c.mergingWriter = buf.NewBufferedWriter(buf.NewWriter(c.Conn))
|
mb, err := buf.WriteMultiBuffer(c, mb)
|
||||||
}
|
buf.ReleaseMulti(mb)
|
||||||
if err := c.mergingWriter.WriteMultiBuffer(mb); err != nil {
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
return c.mergingWriter.Flush()
|
|
||||||
}
|
|
||||||
|
|
||||||
func (c *conn) HandshakeAddress() net.Address {
|
func (c *conn) HandshakeAddress() net.Address {
|
||||||
if err := c.Handshake(); err != nil {
|
if err := c.Handshake(); err != nil {
|
||||||
|
|
Loading…
Reference in New Issue