| 123456789101112131415161718192021222324252627282930313233 | 
							- package core
 
- import (
 
- 	"fmt"
 
- )
 
- // VPoint is an single server in V2Ray system.
 
- type VPoint struct {
 
- 	config      VConfig
 
- 	connHandler ConnectionHandler
 
- }
 
- // NewVPoint returns a new VPoint server based on given configuration.
 
- // The server is not started at this point.
 
- func NewVPoint(config *VConfig) (*VPoint, error) {
 
- 	var vpoint = new(VPoint)
 
- 	vpoint.config = *config
 
- 	return vpoint, nil
 
- }
 
- type ConnectionHandler interface {
 
- 	Listen(port uint16) error
 
- }
 
- // Start starts the VPoint server, and return any error during the process.
 
- // In the case of any errors, the state of the server is unpredicatable.
 
- func (vp *VPoint) Start() error {
 
- 	if vp.config.Port <= 0 {
 
- 		return fmt.Errorf("Invalid port %d", vp.config.Port)
 
- 	}
 
- 	vp.connHandler.Listen(vp.config.Port)
 
- 	return nil
 
- }
 
 
  |