| 123456789101112131415161718192021222324252627282930313233 | 
							- package inbound
 
- import (
 
- 	"context"
 
- 	"errors"
 
- 	"v2ray.com/core/app"
 
- 	"v2ray.com/core/app/dispatcher"
 
- 	"v2ray.com/core/common/net"
 
- 	"v2ray.com/core/transport/ray"
 
- )
 
- type mux struct {
 
- 	dispatcher dispatcher.Interface
 
- }
 
- func newMux(ctx context.Context) *mux {
 
- 	m := &mux{}
 
- 	space := app.SpaceFromContext(ctx)
 
- 	space.OnInitialize(func() error {
 
- 		d := dispatcher.FromSpace(space)
 
- 		if d == nil {
 
- 			return errors.New("Proxyman|DefaultInboundHandler: No dispatcher in space.")
 
- 		}
 
- 		m.dispatcher = d
 
- 		return nil
 
- 	})
 
- 	return m
 
- }
 
- func (m *mux) Dispatch(ctx context.Context, dest net.Destination) (ray.InboundRay, error) {
 
- 	return m.dispatcher.Dispatch(ctx, dest)
 
- }
 
 
  |