Documentation ¶
Index ¶
- Variables
- func Cleanup(fname string)
- func Events(fname string) <-chan fsnotify.Event
- func RemoveWatch(fname string)
- func RemoveWatchCreate(fname string)
- func Watch(fname string) error
- func WatchCreate(fname string) error
- type FileChanges
- type FileWatcher
- type InotifyFileWatcher
- type InotifyTracker
- type PollingFileWatcher
Constants ¶
This section is empty.
Variables ¶
var POLL_DURATION time.Duration
Functions ¶
func Cleanup ¶
func Cleanup(fname string)
Cleanup removes the watch for the input filename if necessary.
func Events ¶
func Events(fname string) <-chan fsnotify.Event
Events returns a channel to which FileEvents corresponding to the input filename will be sent. This channel will be closed when removeWatch is called on this filename.
func RemoveWatch ¶
func RemoveWatch(fname string)
RemoveWatch signals the run goroutine to remove the watch for the input filename
func RemoveWatchCreate ¶
func RemoveWatchCreate(fname string)
RemoveWatch create signals the run goroutine to remove the watch for the input filename
func WatchCreate ¶
Watch create signals the run goroutine to begin watching the input filename if call the WatchCreate function, don't call the Cleanup, call the RemoveWatchCreate
Types ¶
type FileChanges ¶
type FileChanges struct { Modified chan bool // Channel to get notified of modifications Truncated chan bool // Channel to get notified of truncations Deleted chan bool // Channel to get notified of deletions/renames }
func NewFileChanges ¶
func NewFileChanges() *FileChanges
func (*FileChanges) NotifyDeleted ¶
func (fc *FileChanges) NotifyDeleted()
func (*FileChanges) NotifyModified ¶
func (fc *FileChanges) NotifyModified()
func (*FileChanges) NotifyTruncated ¶
func (fc *FileChanges) NotifyTruncated()
type FileWatcher ¶
type FileWatcher interface { // BlockUntilExists blocks until the file comes into existence. BlockUntilExists(*tomb.Tomb) error // ChangeEvents reports on changes to a file, be it modification, // deletion, renames or truncations. Returned FileChanges group of // channels will be closed, thus become unusable, after a deletion // or truncation event. // In order to properly report truncations, ChangeEvents requires // the caller to pass their current offset in the file. ChangeEvents(*tomb.Tomb, int64) (*FileChanges, error) }
FileWatcher monitors file-level events.
type InotifyFileWatcher ¶
InotifyFileWatcher uses inotify to monitor file changes.
func NewInotifyFileWatcher ¶
func NewInotifyFileWatcher(filename string) *InotifyFileWatcher
func (*InotifyFileWatcher) BlockUntilExists ¶
func (fw *InotifyFileWatcher) BlockUntilExists(t *tomb.Tomb) error
func (*InotifyFileWatcher) ChangeEvents ¶
func (fw *InotifyFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChanges, error)
type InotifyTracker ¶
type InotifyTracker struct {
// contains filtered or unexported fields
}
type PollingFileWatcher ¶
PollingFileWatcher polls the file for changes.
func NewPollingFileWatcher ¶
func NewPollingFileWatcher(filename string) *PollingFileWatcher
func (*PollingFileWatcher) BlockUntilExists ¶
func (fw *PollingFileWatcher) BlockUntilExists(t *tomb.Tomb) error
func (*PollingFileWatcher) ChangeEvents ¶
func (fw *PollingFileWatcher) ChangeEvents(t *tomb.Tomb, pos int64) (*FileChanges, error)