| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // package server -- главный тип приложения, содержит бота, интерфейсы и т.п.
- package server
- import (
- "wartank/pkg/kernel/kernel_ctx"
- "wartank/pkg/kernel/kernel_log"
- "wartank/pkg/kernel/kernel_serv_http"
- "wartank/pkg/kernel/kernel_store"
- . "wartank/pkg/kernel/kernel_types"
- . "wartank/server/lev0/types"
- "wartank/server/lev2/serv_bots"
- "wartank/server/lev2/serv_web"
- "wartank/server/lev2/server_stat"
- )
- // Сервер -- главный тип приложения
- type Сервер struct {
- ИЯдроКонтекст
- ботоФерма *serv_bots.БотоФерма
- сервСтат ИСерверСтат
- лог ИЯдроЛог
- ядроВеб ИЯдроСерверВеб
- }
- // НовСервер -- возвращает новый объект приложения
- func НовСервер() *Сервер {
- лог := kernel_log.НовЛоггер("Сервер")
- лог.Инфо("НовСервер()\n")
- сам := &Сервер{
- ИЯдроКонтекст: kernel_ctx.ПолучЯдроКонтекст(),
- лог: лог,
- }
- _ = kernel_store.GetKernelStore(сам)
- сам.ядроВеб = kernel_serv_http.GetKernelServHttp(сам)
- сам.Уст("сервер", сам)
- сам.ботоФерма = serv_bots.НовБотоФерма(сам)
- _ = serv_web.НовСервВеб(сам)
- сам.сервСтат = server_stat.НовСерверСтат(сам)
- _ = ИСервер(сам)
- return сам
- }
- // Пуск -- запускает сервер бота в работу
- func (сам *Сервер) Пуск() error {
- сам.лог.Инфо("Сервер.Пуск()\n")
- сам.ядроВеб.Run()
- <-сам.Конт().Done()
- return nil
- }
- // Стат -- возвращает статистику сервера
- func (сам *Сервер) Стат() ИСерверСтат {
- return сам.сервСтат
- }
- // ServBots -- возвращает словарь ботов
- func (сам *Сервер) ServBots() ИБотоФерма {
- return сам.ботоФерма
- }
|