Documentation
¶
Overview ¶
simdbrpc.go
Index ¶
- Variables
- func AddBDDir(dir string)
- func AddIKeyOneByStrKey(tbname, TXT, skey string, val int64) string
- func AddOneTextByStrKey(tbname, TXT, skey string, ikey int64)
- func AddString(tbname, TXT, skey string, ikey int64)
- func ClearTable(tbname string)
- func DeleteOneBySKey(tbname, skey string) string
- func DeleteTable(tbname string)
- func GetGobStructBySKEY(tbname string, s interface{}, skey string)
- func GetJsonStructBySKEY(tbname string, s interface{}, skey string)
- func GetStringByKeys(tbname, skey string, ikey int64) string
- func GetStringBySKey(tbname, skey string) string
- func GetStringBySKeyToSym(tbname, skey, split_sym string) string
- func GetStructByUID(tbname, uid string, s interface{})
- func GetTBListAsText() string
- func GetTBListSlice() []string
- func LoadDBFilesFromDir(dir string)
- func RemoteCall(IPP, Method string, args interface{}, resp interface{}) error
- func RunTimers()
- func SetBackUpDuration(tbname string, seconds int) string
- func SetSize(tbname, size string)
- func SetTimeFormat(tbname, tformat string)
- func StartServer(rpcipp, dbstorpath string) string
- func StartSqlite3Server(ipport, dbfile, backupfile string) error
- func StructToGobBySKEY(tbname string, s interface{}, skey string, ikey int64) string
- func StructToJsonBySKEY(tbname string, s interface{}, skey string, ikey int64) string
- func TableConnectRemote(name, netaddr string) string
- func TableGetParamsFromRemoteServer(name, servaddr string)
- func TableLoadFromFile(name, file string, savetimesec, droptimesec, size int)
- func TableRegisterAsFile(REMOTEIPP, NAME string)
- func TableRegisterAsRemote(REMOTEIPP, LOCALIPP, NAME string)
- func TableRegisterFile(name, file string)
- func TableSaveToFile(name, file string, savetimesec, droptimesec, size int)
- func TableUpdateParams(name, file string, savetimesec, droptimesec, size int)
- func UpdateAllByStrKey(tbname, TXT, skey string, ikey int64) string
- func UpdateAllStructToJsonBySKEY(tbname string, s interface{}, skey string, ikey int64) string
- func UpdateByIntKey(tbname, TXT, sik string)
- func UpdateOneByKeys(tbname, TXT, skey string, ikey int64) string
- func UpdateOneBySKey(tbname, TXT, skey string, ikey int64) string
- type ReTxt
- type Req
- type ReqExt
- type ReqParams
- type TBF
- func (fp *TBF) AddIKeyOneByStrKey(req Req, res *ReTxt) error
- func (fp *TBF) AddOneTextByStrKey(req Req, res *ReTxt) error
- func (fp *TBF) AddString(req Req, res *ReTxt) error
- func (fp *TBF) ClearTable(req string, res *ReTxt) error
- func (fp *TBF) DeleteOneByStrKey(req Req, res *ReTxt) error
- func (fp *TBF) GetTable(req Req, res *T_RESULT) error
- func (fp *TBF) GetTableBySKey(req Req, res *T_RESULT) error
- func (fp *TBF) GetTableBySKeyFL(req Req, res *T_RESULT) error
- func (fp *TBF) GetTableBySKeyFLYounger(req ReqExt, res *T_RESULT) error
- func (fp *TBF) GetTableFL(req Req, res *T_RESULT) error
- func (fp *TBF) GetTableFLYounger(req ReqExt, res *T_RESULT) error
- func (fp *TBF) GetTableList(req Req, res *T_table_list) error
- func (fp *TBF) SetSize(req string, res *ReTxt) error
- func (fp *TBF) TableRegisterAsFile(req ReqParams, res *ReTxt) error
- func (fp *TBF) TableUpdateParams(req ReqParams, res *ReTxt) error
- func (fp *TBF) UpdateAllByStrKey(req Req, res *ReTxt) error
- func (fp *TBF) UpdateOneByStrKey(req Req, res *ReTxt) error
- type T_LSTRING
- type T_RESULT
- func (r *T_RESULT) GetTable(tbname string, count int) string
- func (r *T_RESULT) GetTableByIKey(tbname string, ikey int64, count int) error
- func (r *T_RESULT) GetTableBySKey(tbname, skey string, count int) string
- func (r *T_RESULT) GetTableBySKeyFL(tbname, skey string, count int) string
- func (r *T_RESULT) GetTableBySKeyFLYounger(tbname, skey string, count int, timenano int64) string
- func (r *T_RESULT) GetTableFL(tbname string, count int) string
- func (r *T_RESULT) GetTableFLYounger(tbname string, count int, timenano int64) string
- func (r *T_RESULT) Next() bool
- func (r *T_RESULT) SortByTimeFirstNew()
- func (r *T_RESULT) SortByTimeFirstOld()
- type T_RSTRING
- type T_TABLE
- type T_table_info
- type T_table_list
Constants ¶
This section is empty.
Variables ¶
var SepSim = `#-#`
var SepSimNS = `#-
`
var Thread t_thread
Functions ¶
func AddIKeyOneByStrKey ¶
Увеличивает значение одной записи целочисленного ключа по строковому
func AddOneTextByStrKey ¶
находит запись с таким ключом и добавляет текст туда
func DeleteOneBySKey ¶
удалить одну сроку по строковому ключу
func GetGobStructBySKEY ¶
func GetJsonStructBySKEY ¶
-----------------------------
func GetStringByKeys ¶
func GetStringBySKey ¶
----------------------------------------------------------
func GetStringBySKeyToSym ¶
----------------------------------------------------------
func GetStructByUID ¶
func GetStructByUID(tbname, uid string, s interface{})
-----------------------------
func GetTBListSlice ¶
func GetTBListSlice() []string
func LoadDBFilesFromDir ¶
func LoadDBFilesFromDir(dir string)
func RemoteCall ¶
func RunTimers ¶
func RunTimers()
func (l *T_TABLE) load_from_json(dirname string) {
ftbname := server.storpath + dirname + l.Name + ".json"
fmt.Println("Открываю:" + ftbname)
var err error
var data []byte
data, err = ioutil.ReadFile(ftbname)
if err != nil {
fmt.Println(err.Error())
return
}
err = json.Unmarshal(data, l)
if err != nil {
fmt.Println(err.Error())
}
if l.SAVETIMER == 0 {
l.SAVETIMER = 10
}
l.FILE = ftbname
}
func load_all_from_json() {
files, err := ioutil.ReadDir(server.storpath)
if err != nil {
fmt.Println(err.Error())
return
} else {
load_dir_from_json("", &files)
}
for _, d := range server.dirs {
files, err := ioutil.ReadDir(server.storpath + d + "/")
if err != nil {
fmt.Println(err.Error())
//return
} else {
load_dir_from_json(d+"/", &files)
}
}
}
func load_dir_from_json(dirname string, files *[]os.FileInfo) {
for _, f := range *files {
fnm := strings.Split(f.Name(), ".")
lfnm := len(fnm)
if lfnm > 1 && !f.IsDir() {
if fnm[lfnm-1] == "json" {
//fmt.Println(f.Name())
on := ""
if lfnm == 2 {
on = fnm[0]
} else {
for i := 0; i < lfnm-2; i++ {
on += fnm[i] + "."
}
on += fnm[lfnm-2]
}
fmt.Println(dirname + on)
//fmt.Println(dirname + "/" + on)
Thread.Lock()
t := get_by_tbname(on)
t.load_from_json(dirname)
Thread.Unlock()
}
}
}
}
func SetBackUpDuration ¶
func SetTimeFormat ¶
func SetTimeFormat(tbname, tformat string)
func StartServer ¶
func StartSqlite3Server ¶
IPPORT 127.0.0.1:300 and full paths "./backup/"
func StartServer(ipport, stropath, backuppath string, savepersec int) error {
log.Println("Start SIMDB server "+ipport, stropath, backuppath)
server.Sqlite3 = false
server.savepersec = savepersec
if stropath != "" {
server.storpath = stropath
} else {
server.storpath = "./"
}
if backuppath == "" {
server.backuppath = "./backup/"
} else {
server.backuppath = backuppath
}
load_all_from_json()
server.savetimer = time.NewTicker(time.Second * time.Duration(savepersec))
go saver()
if ipport != "" {
e := nt.StartTCPServer(ipport, msgreciever)
if e != nil {
return e
}
}
return nil
}
func StructToGobBySKEY ¶
func StructToJsonBySKEY ¶
обновляет json структурой одну запись с таким ключом
func TableConnectRemote ¶
подключение сетевой таблицы
func TableGetParamsFromRemoteServer ¶
func TableGetParamsFromRemoteServer(name, servaddr string)
получить параметры таблицы с другого сервера. не доделал. лень...
func TableLoadFromFile ¶
загрузить таблицу из файла и ообновить параметры
func TableRegisterAsFile ¶
func TableRegisterAsFile(REMOTEIPP, NAME string)
регистрация локальной таблицы как файла
func TableRegisterAsRemote ¶
func TableRegisterAsRemote(REMOTEIPP, LOCALIPP, NAME string)
регистрация своей таблицы на другом сервере
func TableRegisterFile ¶
func TableRegisterFile(name, file string)
func TableSaveToFile ¶
сохранить таблицу
func TableUpdateParams ¶
обновление параметров таблицы
func UpdateAllByStrKey ¶
обновляет все записи с таким ключом. если не найдено то создает новую запись
func UpdateAllStructToJsonBySKEY ¶
обновляет json структурой все записи с таким ключом
func UpdateOneByKeys ¶
func UpdateOneBySKey ¶
обновляет одну запись с таким ключом.если не найдено то создает новую
Types ¶
type TBF ¶
type TBF struct {
}
func (*TBF) AddString ¶
==================ADD UPDATE===================================================
func (*TBF) GetTableBySKeyFLYounger ¶
func (*TBF) GetTableList ¶
func (fp *TBF) GetTableList(req Req, res *T_table_list) error
----------------------------
func (*TBF) TableRegisterAsFile ¶
func (*TBF) TableUpdateParams ¶
TOOL
type T_RESULT ¶
type T_RESULT struct {
Str []T_RSTRING
CurStr *T_RSTRING
// contains filtered or unexported fields
}
func GetTableByIKey ¶
func GetTableByIKeyFL ¶
--------------------------------------------------------------
func GetTableBySKey ¶
func (*T_RESULT) GetTableByIKey ¶
func (*T_RESULT) GetTableBySKey ¶
--------------------------------------------------------------
func (*T_RESULT) GetTableBySKeyFL ¶
--------------------------------------------------------------
func (*T_RESULT) GetTableBySKeyFLYounger ¶
--------------------------------------------------------------
func (*T_RESULT) GetTableFLYounger ¶
func (*T_RESULT) SortByTimeFirstNew ¶
func (r *T_RESULT) SortByTimeFirstNew()
============================SORT=========================================
func (*T_RESULT) SortByTimeFirstOld ¶
func (r *T_RESULT) SortByTimeFirstOld()
type T_RSTRING ¶
type t_res_string struct {
UID, IntKey int
TimeNano int64
TIME string
TEXT string
STRKEY string
}
func (ts *t_res_string) JsonToStruct(s interface{}) {
bytes := []byte(ts.TEXT)
e := json.Unmarshal(bytes, &s)
if e != nil {
//fmt.Println(e.Error())
}
}
func GetOneRowBySkey ¶
----------------------------------------------------------
type T_TABLE ¶
type T_TABLE struct {
STRINGS []T_LSTRING
Name string
FILE, BACKUPFILE, NETADDR string
TIMEFORMAT string
COUNT int
SIZE int
START int
//END int
CURL int
//LASTUID int
SAVETIMER, DROPTIMER, BACKUPTIMER int
IsRemote bool
// contains filtered or unexported fields
}
func GetTablePointer ¶
func (*T_TABLE) AddStringL ¶
func (*T_TABLE) DeleteString ¶
func (*T_TABLE) MoveToBackUp ¶
func (l *T_TABLE) MoveToBackUp()
====SERVICES==========================================================
type T_table_info ¶
type T_table_list ¶
type T_table_list struct {
TABLE []T_table_info
}
func GetTBList ¶
func GetTBList() T_table_list