Apply .gitignore rules
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
package sqlAsyncMgr
|
||||
|
||||
import (
|
||||
"sync"
|
||||
)
|
||||
|
||||
// SqlAsyncListModel 待同步sql列表模型对象
|
||||
type SqlAsyncListModel struct {
|
||||
// 锁对象
|
||||
m sync.Mutex
|
||||
|
||||
// 待同步的sql对象
|
||||
sqlData []*SqlAsyncItemModel
|
||||
}
|
||||
|
||||
// newSqlAsyncListModel 创建新SqlAsyncListModel对象
|
||||
func newSqlAsyncListModel() *SqlAsyncListModel {
|
||||
return &SqlAsyncListModel{
|
||||
sqlData: make([]*SqlAsyncItemModel, 0, 4),
|
||||
}
|
||||
}
|
||||
|
||||
// SqlCount 待同步的sql数量
|
||||
func (this *SqlAsyncListModel) SqlCount() int32 {
|
||||
this.m.Lock()
|
||||
defer this.m.Unlock()
|
||||
|
||||
return int32(len(this.sqlData))
|
||||
}
|
||||
|
||||
// Add 添加同步sql
|
||||
func (this *SqlAsyncListModel) Add(newSqlModel *SqlAsyncItemModel) {
|
||||
this.m.Lock()
|
||||
defer this.m.Unlock()
|
||||
|
||||
this.sqlData = append(this.sqlData, newSqlModel)
|
||||
}
|
||||
|
||||
// GetItem 获取同步对象
|
||||
func (this *SqlAsyncListModel) GetItem() (*SqlAsyncItemModel, bool) {
|
||||
this.m.Lock()
|
||||
defer this.m.Unlock()
|
||||
|
||||
if len(this.sqlData) > 0 {
|
||||
return this.sqlData[0], true
|
||||
}
|
||||
|
||||
return nil, false
|
||||
}
|
||||
|
||||
// RemoveFirst 移除首位元素
|
||||
func (this *SqlAsyncListModel) RemoveFirst() {
|
||||
this.m.Lock()
|
||||
defer this.m.Unlock()
|
||||
|
||||
if len(this.sqlData) == 0 {
|
||||
return
|
||||
}
|
||||
|
||||
this.sqlData = this.sqlData[1:]
|
||||
}
|
||||
|
||||
// GetAllSqlModel 获取所有的sql
|
||||
func (this *SqlAsyncListModel) GetAllSqlModel() []*SqlAsyncItemModel {
|
||||
this.m.Lock()
|
||||
defer this.m.Unlock()
|
||||
|
||||
if len(this.sqlData) == 0 {
|
||||
return nil
|
||||
}
|
||||
|
||||
r := this.sqlData[0:]
|
||||
|
||||
return r
|
||||
}
|
||||
Reference in New Issue
Block a user