This section is empty.


This section is empty.


This section is empty.


type Router

type Router struct {
	Router router.Router

Router implements router handler

func (*Router) Advertise

func (r *Router) Advertise(ctx context.Context, req *pb.Request, stream pb.Router_AdvertiseStream) error

Advertise streams router advertisements

func (*Router) Lookup

func (r *Router) Lookup(ctx context.Context, req *pb.LookupRequest, resp *pb.LookupResponse) error

Lookup looks up routes in the routing table and returns them

func (*Router) Process

func (r *Router) Process(ctx context.Context, req *pb.Advert, rsp *pb.ProcessResponse) error

Process processes advertisements

func (*Router) Solicit

func (r *Router) Solicit(ctx context.Context, req *pb.Request, resp *pb.Response) error

Solicit triggers full routing table advertisement

func (*Router) Status

func (r *Router) Status(ctx context.Context, req *pb.Request, rsp *pb.StatusResponse) error

Status returns router status

func (*Router) Watch

func (r *Router) Watch(ctx context.Context, req *pb.WatchRequest, stream pb.Router_WatchStream) error

Watch streans routing table events

type Table

type Table struct {
	Router router.Router

func (*Table) Create

func (t *Table) Create(ctx context.Context, route *pb.Route, resp *pb.CreateResponse) error

func (*Table) Delete

func (t *Table) Delete(ctx context.Context, route *pb.Route, resp *pb.DeleteResponse) error

func (*Table) List

func (t *Table) List(ctx context.Context, req *pb.Request, resp *pb.ListResponse) error

List returns all routes in the routing table

func (*Table) Query

func (t *Table) Query(ctx context.Context, req *pb.QueryRequest, resp *pb.QueryResponse) error

func (*Table) Update

func (t *Table) Update(ctx context.Context, route *pb.Route, resp *pb.UpdateResponse) error

Source Files