diff --git a/static.go b/static.go index f7822b1..a25a0e5 100644 --- a/static.go +++ b/static.go @@ -10,12 +10,11 @@ func NewRouter(opts ...router.Option) router.Router { for _, o := range opts { o(&options) } - return &static{options, new(table)} + return &static{options} } type static struct { options router.Options - table router.Table } func (s *static) Init(opts ...router.Option) error { @@ -33,8 +32,18 @@ func (s *static) Table() router.Table { return nil } -func (s *static) Lookup(opts ...router.QueryOption) ([]router.Route, error) { - return s.table.Query(opts...) +func (s *static) Lookup(service string, opts ...router.LookupOption) ([]router.Route, error) { + options := router.NewLookup(opts...) + + return []router.Route{ + router.Route{ + Address: service, + Service: options.Address, + Gateway: options.Gateway, + Network: options.Network, + Router: options.Router, + }, + }, nil } func (s *static) Watch(opts ...router.WatchOption) (router.Watcher, error) { @@ -48,35 +57,3 @@ func (s *static) Close() error { func (s *static) String() string { return "static" } - -type table struct{} - -func (t *table) Create(router.Route) error { - return nil -} - -func (t *table) Delete(router.Route) error { - return nil -} - -func (t *table) Update(router.Route) error { - return nil -} - -func (t *table) List() ([]router.Route, error) { - return nil, nil -} - -func (t *table) Query(opts ...router.QueryOption) ([]router.Route, error) { - options := router.NewQuery(opts...) - - return []router.Route{ - router.Route{ - Address: options.Service, - Service: options.Address, - Gateway: options.Gateway, - Network: options.Network, - Router: options.Router, - }, - }, nil -}