| 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)
- }
|