Merge branch 'master' into develop
This commit is contained in:
commit
a7e049a228
|
@ -6,6 +6,14 @@
|
|||
|
||||
BREAKING:
|
||||
|
||||
## 0.8.4
|
||||
|
||||
*June 5, 2018*
|
||||
|
||||
IMPROVEMENTS:
|
||||
|
||||
- [autofile] Flush on Stop; Close() method to Flush and close file
|
||||
|
||||
## 0.8.3
|
||||
|
||||
*May 21, 2018*
|
||||
|
|
|
@ -71,8 +71,9 @@ type Group struct {
|
|||
// and their dependencies.
|
||||
}
|
||||
|
||||
// OpenGroup creates a new Group with head at headPath. It returns an error if
|
||||
// it fails to open head file.
|
||||
func OpenGroup(headPath string) (g *Group, err error) {
|
||||
|
||||
dir := path.Dir(headPath)
|
||||
head, err := OpenAutoFile(headPath)
|
||||
if err != nil {
|
||||
|
@ -98,16 +99,27 @@ func OpenGroup(headPath string) (g *Group, err error) {
|
|||
return
|
||||
}
|
||||
|
||||
// OnStart implements Service by starting the goroutine that checks file and
|
||||
// group limits.
|
||||
func (g *Group) OnStart() error {
|
||||
g.BaseService.OnStart()
|
||||
go g.processTicks()
|
||||
return nil
|
||||
}
|
||||
|
||||
// NOTE: g.Head must be closed separately
|
||||
// OnStop implements Service by stopping the goroutine described above.
|
||||
// NOTE: g.Head must be closed separately using Close.
|
||||
func (g *Group) OnStop() {
|
||||
g.BaseService.OnStop()
|
||||
g.ticker.Stop()
|
||||
g.Flush() // flush any uncommitted data
|
||||
}
|
||||
|
||||
// Close closes the head file. The group must be stopped by this moment.
|
||||
func (g *Group) Close() {
|
||||
g.Flush() // flush any uncommitted data
|
||||
|
||||
g.mtx.Lock()
|
||||
_ = g.Head.closeFile()
|
||||
g.mtx.Unlock()
|
||||
}
|
||||
|
||||
// SetHeadSizeLimit allows you to overwrite default head size limit - 10MB.
|
||||
|
|
Loading…
Reference in New Issue