Documentation ¶
Overview ¶
Package navigation contains a navigation service, along with a gRPC server and client
Package navigation implements the navigation service.
Index ¶
- Constants
- Variables
- func Named(name string) resource.Name
- func NewRPCServiceServer(coll resource.APIResourceCollection[Service]) interface{}
- type MemoryNavigationStore
- func (store *MemoryNavigationStore) AddWaypoint(ctx context.Context, point *geo.Point) (Waypoint, error)
- func (store *MemoryNavigationStore) Close(ctx context.Context) error
- func (store *MemoryNavigationStore) NextWaypoint(ctx context.Context) (Waypoint, error)
- func (store *MemoryNavigationStore) RemoveWaypoint(ctx context.Context, id primitive.ObjectID) error
- func (store *MemoryNavigationStore) WaypointVisited(ctx context.Context, id primitive.ObjectID) error
- func (store *MemoryNavigationStore) Waypoints(ctx context.Context) ([]Waypoint, error)
- type Mode
- type MongoDBNavigationStore
- func (store *MongoDBNavigationStore) AddWaypoint(ctx context.Context, point *geo.Point) (Waypoint, error)
- func (store *MongoDBNavigationStore) Close(ctx context.Context) error
- func (store *MongoDBNavigationStore) NextWaypoint(ctx context.Context) (Waypoint, error)
- func (store *MongoDBNavigationStore) RemoveWaypoint(ctx context.Context, id primitive.ObjectID) error
- func (store *MongoDBNavigationStore) WaypointVisited(ctx context.Context, id primitive.ObjectID) error
- func (store *MongoDBNavigationStore) Waypoints(ctx context.Context) ([]Waypoint, error)
- type NavStore
- type Service
- type StoreConfig
- type Waypoint
Constants ¶
const ( ModeManual = Mode(iota) ModeWaypoint )
The set of known modes.
const ( // StoreTypeMemory is the constant for the memory store type. StoreTypeMemory = "memory" // StoreTypeMongoDB is the constant for the mongodb store type. StoreTypeMongoDB = "mongodb" )
const SubtypeName = "navigation"
SubtypeName is the name of the type of service.
Variables ¶
var ()
Database and collection names used by the MongoDBNavigationStore.
var API = resource.APINamespaceRDK.WithServiceType(SubtypeName)
API is a variable that identifies the navigation service resource API.
Functions ¶
func Named ¶ added in v0.0.8
Named is a helper for getting the named navigation service's typed resource name.
func NewRPCServiceServer ¶ added in v0.2.36
func NewRPCServiceServer(coll resource.APIResourceCollection[Service]) interface{}
NewRPCServiceServer constructs a navigation gRPC service server. It is intentionally untyped to prevent use outside of tests.
Types ¶
type MemoryNavigationStore ¶ added in v0.1.0
type MemoryNavigationStore struct {
// contains filtered or unexported fields
}
MemoryNavigationStore holds the waypoints for the navigation service.
func NewMemoryNavigationStore ¶ added in v0.1.0
func NewMemoryNavigationStore() *MemoryNavigationStore
NewMemoryNavigationStore returns and empty MemoryNavigationStore.
func (*MemoryNavigationStore) AddWaypoint ¶ added in v0.1.0
func (store *MemoryNavigationStore) AddWaypoint(ctx context.Context, point *geo.Point) (Waypoint, error)
AddWaypoint adds a waypoint to the MemoryNavigationStore.
func (*MemoryNavigationStore) Close ¶ added in v0.2.36
func (store *MemoryNavigationStore) Close(ctx context.Context) error
Close does nothing.
func (*MemoryNavigationStore) NextWaypoint ¶ added in v0.1.0
func (store *MemoryNavigationStore) NextWaypoint(ctx context.Context) (Waypoint, error)
NextWaypoint gets the next waypoint that has not been visited.
func (*MemoryNavigationStore) RemoveWaypoint ¶ added in v0.1.0
func (store *MemoryNavigationStore) RemoveWaypoint(ctx context.Context, id primitive.ObjectID) error
RemoveWaypoint removes a waypoint from the MemoryNavigationStore.
func (*MemoryNavigationStore) WaypointVisited ¶ added in v0.1.0
func (store *MemoryNavigationStore) WaypointVisited(ctx context.Context, id primitive.ObjectID) error
WaypointVisited sets that a waypoint has been visited.
type MongoDBNavigationStore ¶ added in v0.1.0
type MongoDBNavigationStore struct {
// contains filtered or unexported fields
}
MongoDBNavigationStore holds the mongodb client and waypoints collection.
func NewMongoDBNavigationStore ¶ added in v0.1.0
func NewMongoDBNavigationStore(ctx context.Context, config map[string]interface{}) (*MongoDBNavigationStore, error)
NewMongoDBNavigationStore creates a new navigation store using MongoDB.
func (*MongoDBNavigationStore) AddWaypoint ¶ added in v0.1.0
func (store *MongoDBNavigationStore) AddWaypoint(ctx context.Context, point *geo.Point) (Waypoint, error)
AddWaypoint adds a waypoint to the MongoDBNavigationStore.
func (*MongoDBNavigationStore) Close ¶ added in v0.1.0
func (store *MongoDBNavigationStore) Close(ctx context.Context) error
Close closes the connection with the mongodb client.
func (*MongoDBNavigationStore) NextWaypoint ¶ added in v0.1.0
func (store *MongoDBNavigationStore) NextWaypoint(ctx context.Context) (Waypoint, error)
NextWaypoint gets the next waypoint that has not been visited.
func (*MongoDBNavigationStore) RemoveWaypoint ¶ added in v0.1.0
func (store *MongoDBNavigationStore) RemoveWaypoint(ctx context.Context, id primitive.ObjectID) error
RemoveWaypoint removes a waypoint from the MongoDBNavigationStore.
func (*MongoDBNavigationStore) WaypointVisited ¶ added in v0.1.0
func (store *MongoDBNavigationStore) WaypointVisited(ctx context.Context, id primitive.ObjectID) error
WaypointVisited sets that a waypoint has been visited.
type NavStore ¶ added in v0.1.0
type NavStore interface {}
NavStore handles the waypoints for a navigation service.
type Service ¶
type Service interface { resource.Resource Mode(ctx context.Context, extra map[string]interface{}) (Mode, error) SetMode(ctx context.Context, mode Mode, extra map[string]interface{}) error Location(ctx context.Context, extra map[string]interface{}) (*geo.Point, error) // Waypoint Waypoints(ctx context.Context, extra map[string]interface{}) ([]Waypoint, error) AddWaypoint(ctx context.Context, point *geo.Point, extra map[string]interface{}) error RemoveWaypoint(ctx context.Context, id primitive.ObjectID, extra map[string]interface{}) error }
A Service controls the navigation for a robot.
type StoreConfig ¶
type StoreConfig struct { Type storeType `json:"type"` Config map[string]interface{} `json:"config"` }
StoreConfig describes how to configure data storage.
func (*StoreConfig) Validate ¶
func (config *StoreConfig) Validate(path string) error
Validate ensures all parts of the config are valid.
Directories ¶
Path | Synopsis |
---|---|
Package builtin contains the default navigation service, along with a gRPC server and client
|
Package builtin contains the default navigation service, along with a gRPC server and client |
Package register registers all relevant navigation models and also API specific functions
|
Package register registers all relevant navigation models and also API specific functions |