mirror of
				https://github.com/v2fly/v2ray-core.git
				synced 2025-10-31 17:59:15 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			32 lines
		
	
	
		
			985 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			32 lines
		
	
	
		
			985 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Package proxy contains all proxies used by V2Ray.
 | |
| package proxy // import "github.com/v2ray/v2ray-core/proxy"
 | |
| 
 | |
| import (
 | |
| 	"github.com/v2ray/v2ray-core/common/alloc"
 | |
| 	v2net "github.com/v2ray/v2ray-core/common/net"
 | |
| 	"github.com/v2ray/v2ray-core/transport/ray"
 | |
| )
 | |
| 
 | |
| type HandlerState int
 | |
| 
 | |
| const (
 | |
| 	HandlerStateStopped = HandlerState(0)
 | |
| 	HandlerStateRunning = HandlerState(1)
 | |
| )
 | |
| 
 | |
| // An InboundHandler handles inbound network connections to V2Ray.
 | |
| type InboundHandler interface {
 | |
| 	// Listen starts a InboundHandler by listen on a specific port.
 | |
| 	Listen(port v2net.Port) error
 | |
| 	// Close stops the handler to accepting anymore inbound connections.
 | |
| 	Close()
 | |
| 	// Port returns the port that the handler is listening on.
 | |
| 	Port() v2net.Port
 | |
| }
 | |
| 
 | |
| // An OutboundHandler handles outbound network connection for V2Ray.
 | |
| type OutboundHandler interface {
 | |
| 	// Dispatch sends one or more Packets to its destination.
 | |
| 	Dispatch(destination v2net.Destination, payload *alloc.Buffer, ray ray.OutboundRay) error
 | |
| }
 | 
