Documentation

Overview

    Package eskipfile implements the DataClient interface for reading the skipper route definitions from an eskip formatted file.

    (See the DataClient interface in the skipper/routing package and the eskip format in the skipper/eskip package.)

    The package provides two implementations: one without file watch (legacy version) and one with file watch. When running the skipper command, the one with watch is used.

    Example
    Output:
    
    

    Index

    Examples

    Constants

    This section is empty.

    Variables

    This section is empty.

    Functions

    func RemoteWatch

    func RemoteWatch(o *RemoteWatchOptions) (routing.DataClient, error)

      RemoteWatch creates a route configuration client with (remote) file watching. Watch doesn't follow file system nodes, it always reads (or re-downloads) from the file identified by the initially provided file name.

      Types

      type Client

      type Client struct {
      	// contains filtered or unexported fields
      }

        Client contains the route definitions from an eskip file, not implementing file watch. Use the Open function to create instances of it.

        func Open

        func Open(path string) (*Client, error)

          Opens an eskip file and parses it, returning a DataClient implementation. If reading or parsing the file fails, returns an error. This implementation doesn't provide file watch.

          func (Client) LoadAll

          func (c Client) LoadAll() ([]*eskip.Route, error)

            LoadAll returns the parsed route definitions found in the file.

            func (Client) LoadAndParseAll

            func (c Client) LoadAndParseAll() (routeInfos []*eskip.RouteInfo, err error)

            func (Client) LoadUpdate

            func (c Client) LoadUpdate() ([]*eskip.Route, []string, error)

              LoadUpdate: noop. The current implementation doesn't support watching the eskip file for changes.

              type RemoteWatchOptions

              type RemoteWatchOptions struct {
              	// contains filtered or unexported fields
              }

              type WatchClient

              type WatchClient struct {
              	// contains filtered or unexported fields
              }

                WatchClient implements a route configuration client with file watching. Use the Watch function to initialize instances of it.

                func Watch

                func Watch(name string) *WatchClient

                  Watch creates a route configuration client with file watching. Watch doesn't follow file system nodes, it always reads from the file identified by the initially provided file name.

                  func (*WatchClient) Close

                  func (c *WatchClient) Close()

                    Close stops watching the configured file and providing updates.

                    func (*WatchClient) LoadAll

                    func (c *WatchClient) LoadAll() ([]*eskip.Route, error)

                      LoadAll returns the parsed route definitions found in the file.

                      func (*WatchClient) LoadUpdate

                      func (c *WatchClient) LoadUpdate() ([]*eskip.Route, []string, error)

                        LoadUpdate returns differential updates when a watched file has changed.