Documentation ¶
Overview ¶
Package daemon implements a service for mediating access to the data store, and its client.
Most RPCs exposed by the service correspond to the methods of Store in the store package and are not documented here.
Index ¶
- Constants
- Variables
- func Serve(sockpath, dbpath string)
- type AddCmdRequest
- type AddCmdResponse
- type AddDirRequest
- type AddDirResponse
- type Client
- func (c *Client) AddCmd(text string) (int, error)
- func (c *Client) AddDir(dir string, incFactor float64) error
- func (c *Client) Close() error
- func (c *Client) Cmd(seq int) (string, error)
- func (c *Client) Cmds(from, upto int) ([]string, error)
- func (c *Client) DelSharedVar(name string) error
- func (c *Client) Dirs(blacklist map[string]struct{}) ([]storedefs.Dir, error)
- func (c *Client) NextCmd(from int, prefix string) (int, string, error)
- func (c *Client) NextCmdSeq() (int, error)
- func (c *Client) Pid() (int, error)
- func (c *Client) PrevCmd(upto int, prefix string) (int, string, error)
- func (c *Client) ResetConn() error
- func (c *Client) SetSharedVar(name, value string) error
- func (c *Client) SharedVar(name string) (string, error)
- func (c *Client) SockPath() string
- func (c *Client) Version() (int, error)
- type CmdRequest
- type CmdResponse
- type CmdsRequest
- type CmdsResponse
- type DelSharedVarRequest
- type DelSharedVarResponse
- type DirsRequest
- type DirsResponse
- type NextCmdRequest
- type NextCmdResponse
- type NextCmdSeqRequest
- type NextCmdSeqResponse
- type PidRequest
- type PidResponse
- type PrevCmdRequest
- type PrevCmdResponse
- type Service
- func (s *Service) AddCmd(req *AddCmdRequest, res *AddCmdResponse) error
- func (s *Service) AddDir(req *AddDirRequest, res *AddDirResponse) error
- func (s *Service) Cmd(req *CmdRequest, res *CmdResponse) error
- func (s *Service) Cmds(req *CmdsRequest, res *CmdsResponse) error
- func (s *Service) DelSharedVar(req *DelSharedVarRequest, res *DelSharedVarResponse) error
- func (s *Service) Dirs(req *DirsRequest, res *DirsResponse) error
- func (s *Service) NextCmd(req *NextCmdRequest, res *NextCmdResponse) error
- func (s *Service) NextCmdSeq(req *NextCmdSeqRequest, res *NextCmdSeqResponse) error
- func (s *Service) Pid(req *PidRequest, res *PidResponse) error
- func (s *Service) PrevCmd(req *PrevCmdRequest, res *PrevCmdResponse) error
- func (s *Service) SetSharedVar(req *SetSharedVarRequest, res *SetSharedVarResponse) error
- func (s *Service) SharedVar(req *SharedVarRequest, res *SharedVarResponse) error
- func (s *Service) Version(req *VersionRequest, res *VersionResponse) error
- type SetSharedVarRequest
- type SetSharedVarResponse
- type SharedVarRequest
- type SharedVarResponse
- type VersionRequest
- type VersionResponse
Constants ¶
const ( // ServiceName is the name of the RPC service exposed by the daemon. ServiceName = "Daemon" // Version is the API version. It should be bumped any time the API changes. Version = -97 )
Variables ¶
var ( // ErrClientNotInitialized is returned when the Client is not initialized. ErrClientNotInitialized = errors.New("client not initialized") // ErrDaemonUnreachable is returned when the daemon cannot be reached after // several retries. ErrDaemonUnreachable = errors.New("daemon offline") )
Functions ¶
Types ¶
type AddCmdRequest ¶
type AddCmdRequest struct {
Text string
}
type AddCmdResponse ¶
type AddCmdResponse struct {
Seq int
}
type AddDirRequest ¶
type AddDirResponse ¶
type AddDirResponse struct{}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client is a client to the Elvish daemon. A nil *Client is safe to use.
func NewClient ¶
NewClient creates a new Client instance that talks to the socket. Connection creation is deferred to the first request.
func (*Client) Close ¶
Close waits for all outstanding requests to finish and close the connection. If the client is nil, it does nothing and returns nil.
func (*Client) DelSharedVar ¶
func (*Client) NextCmdSeq ¶
func (*Client) ResetConn ¶
ResetConn resets the current connection. A new connection will be established the next time a request is made. If the client is nil, it does nothing.
func (*Client) SetSharedVar ¶
type CmdRequest ¶
type CmdRequest struct {
Seq int
}
type CmdResponse ¶
type CmdResponse struct {
Text string
}
type CmdsRequest ¶
type CmdsResponse ¶
type CmdsResponse struct {
Cmds []string
}
type DelSharedVarRequest ¶
type DelSharedVarRequest struct {
}type DelSharedVarResponse ¶
type DelSharedVarResponse struct{}
type DirsRequest ¶
type DirsRequest struct {
Blacklist map[string]struct{}
}
type DirsResponse ¶
type NextCmdRequest ¶
type NextCmdResponse ¶
type NextCmdSeqRequest ¶
type NextCmdSeqRequest struct{}
type NextCmdSeqResponse ¶
type NextCmdSeqResponse struct {
Seq int
}
type PidRequest ¶
type PidRequest struct{}
type PidResponse ¶
type PidResponse struct {
Pid int
}
type PrevCmdRequest ¶
type PrevCmdResponse ¶
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service provides the daemon RPC service. It is suitable as a service for net/rpc.
func (*Service) AddCmd ¶
func (s *Service) AddCmd(req *AddCmdRequest, res *AddCmdResponse) error
func (*Service) AddDir ¶
func (s *Service) AddDir(req *AddDirRequest, res *AddDirResponse) error
func (*Service) Cmd ¶
func (s *Service) Cmd(req *CmdRequest, res *CmdResponse) error
func (*Service) Cmds ¶
func (s *Service) Cmds(req *CmdsRequest, res *CmdsResponse) error
func (*Service) DelSharedVar ¶
func (s *Service) DelSharedVar(req *DelSharedVarRequest, res *DelSharedVarResponse) error
func (*Service) Dirs ¶
func (s *Service) Dirs(req *DirsRequest, res *DirsResponse) error
func (*Service) NextCmd ¶
func (s *Service) NextCmd(req *NextCmdRequest, res *NextCmdResponse) error
func (*Service) NextCmdSeq ¶
func (s *Service) NextCmdSeq(req *NextCmdSeqRequest, res *NextCmdSeqResponse) error
func (*Service) Pid ¶
func (s *Service) Pid(req *PidRequest, res *PidResponse) error
Pid returns the process ID of the daemon.
func (*Service) PrevCmd ¶
func (s *Service) PrevCmd(req *PrevCmdRequest, res *PrevCmdResponse) error
func (*Service) SetSharedVar ¶
func (s *Service) SetSharedVar(req *SetSharedVarRequest, res *SetSharedVarResponse) error
func (*Service) SharedVar ¶
func (s *Service) SharedVar(req *SharedVarRequest, res *SharedVarResponse) error
func (*Service) Version ¶
func (s *Service) Version(req *VersionRequest, res *VersionResponse) error
Version returns the API version number.
type SetSharedVarRequest ¶
type SetSharedVarRequest struct {}
type SetSharedVarResponse ¶
type SetSharedVarResponse struct{}
type SharedVarRequest ¶
type SharedVarRequest struct {
}type SharedVarResponse ¶
type SharedVarResponse struct {
}type VersionRequest ¶
type VersionRequest struct{}
type VersionResponse ¶
type VersionResponse struct {
Version int
}