1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-06-29 18:45:23 +00:00
This commit is contained in:
Darien Raymond 2017-04-02 13:43:24 +02:00
parent 73c4696e00
commit 3161c56aba
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169
4 changed files with 13 additions and 13 deletions

View File

@ -113,7 +113,7 @@ func (m *Client) Closed() bool {
func (m *Client) fetchInput(ctx context.Context, s *session) { func (m *Client) fetchInput(ctx context.Context, s *session) {
dest, _ := proxy.TargetFromContext(ctx) dest, _ := proxy.TargetFromContext(ctx)
writer := &MuxWriter{ writer := &Writer{
dest: dest, dest: dest,
id: s.id, id: s.id,
writer: m.inboundRay.InboundInput(), writer: m.inboundRay.InboundInput(),

View File

@ -20,7 +20,7 @@ func TestReaderWriter(t *testing.T) {
payload := buf.New() payload := buf.New()
payload.AppendBytes('a', 'b', 'c', 'd') payload.AppendBytes('a', 'b', 'c', 'd')
writer.Write(payload) assert.Error(writer.Write(payload)).IsNil()
writer.Close() writer.Close()

View File

@ -7,20 +7,20 @@ import (
"v2ray.com/core/common/serial" "v2ray.com/core/common/serial"
) )
type MuxReader struct { type Reader struct {
reader io.Reader reader io.Reader
remainingLength int remainingLength int
buffer *buf.Buffer buffer *buf.Buffer
} }
func NewReader(reader buf.Reader) *MuxReader { func NewReader(reader buf.Reader) *Reader {
return &MuxReader{ return &Reader{
reader: buf.ToBytesReader(reader), reader: buf.ToBytesReader(reader),
buffer: buf.NewLocal(1024), buffer: buf.NewLocal(1024),
} }
} }
func (r *MuxReader) ReadMetadata() (*FrameMetadata, error) { func (r *Reader) ReadMetadata() (*FrameMetadata, error) {
b := r.buffer b := r.buffer
b.Clear() b.Clear()
@ -35,7 +35,7 @@ func (r *MuxReader) ReadMetadata() (*FrameMetadata, error) {
return ReadFrameFrom(b.Bytes()) return ReadFrameFrom(b.Bytes())
} }
func (r *MuxReader) Read() (*buf.Buffer, bool, error) { func (r *Reader) Read() (*buf.Buffer, bool, error) {
b := buf.New() b := buf.New()
var dataLen int var dataLen int
if r.remainingLength > 0 { if r.remainingLength > 0 {

View File

@ -6,22 +6,22 @@ import (
"v2ray.com/core/common/serial" "v2ray.com/core/common/serial"
) )
type MuxWriter struct { type Writer struct {
id uint16 id uint16
dest net.Destination dest net.Destination
writer buf.Writer writer buf.Writer
followup bool followup bool
} }
func NewWriter(id uint16, dest net.Destination, writer buf.Writer) *MuxWriter { func NewWriter(id uint16, dest net.Destination, writer buf.Writer) *Writer {
return &MuxWriter{ return &Writer{
id: id, id: id,
dest: dest, dest: dest,
writer: writer, writer: writer,
} }
} }
func (w *MuxWriter) writeInternal(b *buf.Buffer) error { func (w *Writer) writeInternal(b *buf.Buffer) error {
meta := FrameMetadata{ meta := FrameMetadata{
SessionID: w.id, SessionID: w.id,
Target: w.dest, Target: w.dest,
@ -57,7 +57,7 @@ func (w *MuxWriter) writeInternal(b *buf.Buffer) error {
return w.writer.Write(frame) return w.writer.Write(frame)
} }
func (w *MuxWriter) Write(b *buf.Buffer) error { func (w *Writer) Write(b *buf.Buffer) error {
defer b.Release() defer b.Release()
if err := w.writeInternal(b); err != nil { if err := w.writeInternal(b); err != nil {
@ -71,7 +71,7 @@ func (w *MuxWriter) Write(b *buf.Buffer) error {
return nil return nil
} }
func (w *MuxWriter) Close() { func (w *Writer) Close() {
meta := FrameMetadata{ meta := FrameMetadata{
SessionID: w.id, SessionID: w.id,
Target: w.dest, Target: w.dest,