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