Documentation
¶
Index ¶
- func AbsolutePath(pth string) (ret string)
- type Err
- type Error
- func (e *Error) ApplicationHelpDisplayed(code uint8, help *bytes.Buffer) Err
- func (e *Error) ApplicationMainFuncAlreadyRegistered(code uint8) Err
- func (e *Error) ApplicationMainFuncNotFound(code uint8) Err
- func (e *Error) ApplicationPanicException(code uint8, err any, stack []byte) Err
- func (e *Error) ApplicationRegistrationUnknownObject(code uint8, objectName string) Err
- func (e *Error) ApplicationUnknownError(code uint8, err error) Err
- func (e *Error) ApplicationVersion(code uint8, arg ...any) Err
- func (e *Error) CantChangeWorkDirectory(code uint8, err error) Err
- func (e *Error) CommandLineArgumentNotCorrect(code uint8, description string) Err
- func (e *Error) CommandLineArgumentRequired(code uint8, description string) Err
- func (e *Error) CommandLineArgumentUnknown(code uint8, description string) Err
- func (e *Error) CommandLineRequiredFlag(code uint8, description string) Err
- func (e *Error) CommandLineUnexpectedError(code uint8, description string, err error) Err
- func (e *Error) ComponentConflict(code uint8, nameComponent, nameConflict string) Err
- func (e *Error) ComponentDoExecution(code uint8, nameComponent string, err error) Err
- func (e *Error) ComponentDoPanicException(code uint8, nameComponent string, err any, stack []byte) Err
- func (e *Error) ComponentDoUnknownError(code uint8, err error) Err
- func (e *Error) ComponentFinalizeExecution(code uint8, nameComponent string, err error) Err
- func (e *Error) ComponentFinalizePanicException(code uint8, nameComponent string, err any, stack []byte) Err
- func (e *Error) ComponentFinalizeUnknownError(code uint8, err error) Err
- func (e *Error) ComponentFinalizeWarning(code uint8, nameComponent string, tout time.Duration) Err
- func (e *Error) ComponentInitiateExecution(code uint8, nameComponent string, err error) Err
- func (e *Error) ComponentInitiatePanicException(code uint8, nameComponent string, err any, stack []byte) Err
- func (e *Error) ComponentInitiateTimeout(code uint8, nameComponent string) Err
- func (e *Error) ComponentIsNull(code uint8) Err
- func (e *Error) ComponentPanicException(code uint8, componentName string, err any, stack []byte) Err
- func (e *Error) ComponentPreferencesCallBeforeCompleting(code uint8) Err
- func (e *Error) ComponentRegistrationError(code uint8, componentName string, err error) Err
- func (e *Error) ComponentRegistrationProhibited(code uint8, componentName string) Err
- func (e *Error) ComponentRequires(code uint8, nameComponent, nameRequires string) Err
- func (e *Error) ComponentRulesError(code uint8, rulesName string, componentName string, err error) Err
- func (e *Error) ComponentRunlevelError(code uint8, componentName string, runlevel uint16) Err
- func (e *Error) ConfigurationApplicationObject(code uint8, err error) Err
- func (e *Error) ConfigurationApplicationPanic(code uint8, err any, stack []byte) Err
- func (e *Error) ConfigurationApplicationProhibited(code uint8, objectName string) Err
- func (e *Error) ConfigurationBootstrap(code uint8, err error) Err
- func (e *Error) ConfigurationCallbackAlreadyRegistered(code uint8, typeName string, fnName string) Err
- func (e *Error) ConfigurationCallbackSubscriptionNotFound(code uint8, typeName string, fnName string) Err
- func (e *Error) ConfigurationFileIsDirectory(code uint8, filename string) Err
- func (e *Error) ConfigurationFileNotFound(code uint8, filename string, err error) Err
- func (e *Error) ConfigurationFileReadingError(code uint8, filename string, err error) Err
- func (e *Error) ConfigurationObjectCopy(code uint8, typeName string, err error) Err
- func (e *Error) ConfigurationObjectIsNil(code uint8) Err
- func (e *Error) ConfigurationObjectIsNotAddress(code uint8, typeName string) Err
- func (e *Error) ConfigurationObjectIsNotStructure(code uint8, typeName string) Err
- func (e *Error) ConfigurationObjectIsNotValid(code uint8, typeName string) Err
- func (e *Error) ConfigurationObjectNotFound(code uint8, typeName string) Err
- func (e *Error) ConfigurationPermissionDenied(code uint8, _ string, err error) Err
- func (e *Error) ConfigurationSetDefault(code uint8, err error) Err
- func (e *Error) ConfigurationSetDefaultPanic(code uint8, err any, stack []byte) Err
- func (e *Error) ConfigurationSetDefaultValue(code uint8, value string, name string, err error) Err
- func (e *Error) ConfigurationUnexpectedMistakeFileAccess(code uint8, filename string, err error) Err
- func (e *Error) DatabusInternalError(code uint8, err error) Err
- func (e *Error) DatabusNotSubscribersForType(code uint8, typeName string) Err
- func (e *Error) DatabusObjectIsNil(code uint8) Err
- func (e *Error) DatabusPanicException(code uint8, err any, stack []byte) Err
- func (e *Error) DatabusRecursivePointer(code uint8, pointer string) Err
- func (e *Error) DatabusSubscribeNotFound(code uint8, databuserName string) Err
- func (e *Error) GetCurrentUser(code uint8, err error) Err
- func (e *Error) InitLogging(code uint8, err error) Err
- func (e *Error) PidExistsAnotherProcessOfApplication(code uint8, PIDs []int) (err Err)
- func (e *Error) PidFileError(code uint8, filename string, err error) Err
- func (e *Error) RunlevelAlreadySubscribedFunction(code uint8, nameFn string) Err
- func (e *Error) RunlevelCantLessCurrentLevel(code uint8, currentRunlevel uint16, newRunlevel uint16) Err
- func (e *Error) RunlevelSubscribeUnsubscribeNilFunction(code uint8) Err
- func (e *Error) RunlevelSubscriptionNotFound(code uint8, nameFn string) Err
- func (e *Error) RunlevelSubscriptionPanicException(code uint8, err any, stack []byte) Err
- type Essence
- type Interface
- type Recorder
- type RunlevelSubscriberFn
- type Version
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AbsolutePath ¶
AbsolutePath Функция преобразует относительный путь в абсолютный путь к директории или файлу. Учитывается символ '~' обозначающий домашнюю директорию текущего пользователя. Так же раскрываются все символические ссылки в пути оригинальных файлов и директорий.
Types ¶
type Err ¶
type Err interface {
Anchor() error // Якорь, по которому можно сравнивать две ошибки между собой.
Code() uint8 // Код ошибки.
Error() string // Сообщение об ошибке или шаблон сообщения об ошибке.
}
Err Интерфейс ошибки приложения.
type Error ¶
type Error struct{}
Error Объект-одиночка со списком ошибок которые можно сравнивать по якорю через '=='.
func (*Error) ApplicationHelpDisplayed ¶
ApplicationHelpDisplayed Отображение помощи по командам, аргументам и флагам запуска приложения.
func (*Error) ApplicationMainFuncAlreadyRegistered ¶
ApplicationMainFuncAlreadyRegistered Основная функция приложения уже зарегистрирована.
func (*Error) ApplicationMainFuncNotFound ¶
ApplicationMainFuncNotFound Не определена основная функция приложения.
func (*Error) ApplicationPanicException ¶
ApplicationPanicException Выполнение приложения прервано паникой: ...
func (*Error) ApplicationRegistrationUnknownObject ¶
ApplicationRegistrationUnknownObject Регистрация не известного компонента, объекта или модуля: ...
func (*Error) ApplicationUnknownError ¶
ApplicationUnknownError Любая не описанная и не ожидаемая ошибка приложения.
func (*Error) ApplicationVersion ¶
ApplicationVersion Версии приложения содержит ошибку: ...
func (*Error) CantChangeWorkDirectory ¶
CantChangeWorkDirectory Не удалось сменить рабочую директорию приложения: ...
func (*Error) CommandLineArgumentNotCorrect ¶
CommandLineArgumentNotCorrect Не верное значение или тип аргумента, флага или параметра: ...
func (*Error) CommandLineArgumentRequired ¶
CommandLineArgumentRequired Требуется указать обязательную команду, аргумент или флаг командной строки: ...
func (*Error) CommandLineArgumentUnknown ¶
CommandLineArgumentUnknown Неизвестная команда, аргумент или флаг командной строки: ...
func (*Error) CommandLineRequiredFlag ¶
CommandLineRequiredFlag Не указан один или несколько обязательных флагов: ...
func (*Error) CommandLineUnexpectedError ¶
CommandLineUnexpectedError Не предвиденная ошибка библиотеки командного интерфейса приложения: ...
func (*Error) ComponentConflict ¶
ComponentConflict Компонента ... конфликтует с компонентой ...
func (*Error) ComponentDoExecution ¶
ComponentDoExecution Выполнение функции Do() компоненты ... завершено с ошибкой: ...
func (*Error) ComponentDoPanicException ¶
func (e *Error) ComponentDoPanicException(code uint8, nameComponent string, err any, stack []byte) Err
ComponentDoPanicException Выполнение функции Do() компоненты ... прервано паникой: ...
func (*Error) ComponentDoUnknownError ¶
ComponentDoUnknownError Выполнение функций Do() завершилось ошибкой: ...
func (*Error) ComponentFinalizeExecution ¶
ComponentFinalizeExecution Выполнение функции Finalize() компоненты ... завершено с ошибкой: ...
func (*Error) ComponentFinalizePanicException ¶
func (e *Error) ComponentFinalizePanicException(code uint8, nameComponent string, err any, stack []byte) Err
ComponentFinalizePanicException Выполнение функции Finalize() компоненты ... прервано паникой: ...
func (*Error) ComponentFinalizeUnknownError ¶
ComponentFinalizeUnknownError Выполнение функций Finalize() завершилось ошибкой: ...
func (*Error) ComponentFinalizeWarning ¶
ComponentFinalizeWarning Выполнение функций Finalize() компоненты ..., длится дольше отведённого времени ...
func (*Error) ComponentInitiateExecution ¶
ComponentInitiateExecution Выполнение функции Initiate() компоненты ... завершено с ошибкой: ...
func (*Error) ComponentInitiatePanicException ¶
func (e *Error) ComponentInitiatePanicException(code uint8, nameComponent string, err any, stack []byte) Err
ComponentInitiatePanicException Выполнение функции Initiate() компоненты ... прервано паникой: ...
func (*Error) ComponentInitiateTimeout ¶
ComponentInitiateTimeout Превышено время ожидание выполнения функции Initiate() компоненты ...
func (*Error) ComponentIsNull ¶
ComponentIsNull В качестве объекта компоненты передан nil.
func (*Error) ComponentPanicException ¶
func (e *Error) ComponentPanicException(code uint8, componentName string, err any, stack []byte) Err
ComponentPanicException Выполнение компоненты ... прервано паникой: ...
func (*Error) ComponentPreferencesCallBeforeCompleting ¶
ComponentPreferencesCallBeforeCompleting Опрос настроек компонентов вызван до завершения регистрации компонентов.
func (*Error) ComponentRegistrationError ¶
ComponentRegistrationError Регистрация компоненты ... завершилась ошибкой: ...
func (*Error) ComponentRegistrationProhibited ¶
ComponentRegistrationProhibited Регистрация компонентов запрещена. Компонента %q не зарегистрирована.
func (*Error) ComponentRequires ¶
ComponentRequires Компонента ... имеет не удовлетворённую зависимость ...
func (*Error) ComponentRulesError ¶
func (e *Error) ComponentRulesError(code uint8, rulesName string, componentName string, err error) Err
ComponentRulesError Правила %q для компоненты ... содержат ошибку: ...
func (*Error) ComponentRunlevelError ¶
ComponentRunlevelError Уровень запуска (runlevel), для компоненты %q указан %d, необходимо указать уровень равный 0, либо в интервале от 10 до 65534 включительно.
func (*Error) ConfigurationApplicationObject ¶
ConfigurationApplicationObject Объект конфигурации приложения содержит ошибку: ...
func (*Error) ConfigurationApplicationPanic ¶
ConfigurationApplicationPanic Непредвиденная ошибка при регистрации объекта конфигурации. Паника: ... ...
func (*Error) ConfigurationApplicationProhibited ¶
ConfigurationApplicationProhibited Регистрация объектов конфигурации на текущем уровне работы приложения запрещена. Конфигурация ... не зарегистрирована.
func (*Error) ConfigurationBootstrap ¶
ConfigurationBootstrap Ошибка начально bootstrap конфигурации приложения: ...
func (*Error) ConfigurationCallbackAlreadyRegistered ¶
func (e *Error) ConfigurationCallbackAlreadyRegistered(code uint8, typeName string, fnName string) Err
ConfigurationCallbackAlreadyRegistered Подписка функции обратного вызова на изменение конфигурации с типом ... для функции ... уже существует.
func (*Error) ConfigurationCallbackSubscriptionNotFound ¶
func (e *Error) ConfigurationCallbackSubscriptionNotFound(code uint8, typeName string, fnName string) Err
ConfigurationCallbackSubscriptionNotFound Подписка функции обратного вызова на изменение конфигурации с типом ... для функции ... не существует.
func (*Error) ConfigurationFileIsDirectory ¶
ConfigurationFileIsDirectory В качестве файла конфигурации указана директория: ...
func (*Error) ConfigurationFileNotFound ¶
ConfigurationFileNotFound Указанного файла конфигурации ... не существует: ...
func (*Error) ConfigurationFileReadingError ¶
ConfigurationFileReadingError Чтение фала конфигурации ... прервано ошибкой: ...
func (*Error) ConfigurationObjectCopy ¶
ConfigurationObjectCopy Копирование объекта конфигурации я типом ... прервано ошибкой: ...
func (*Error) ConfigurationObjectIsNil ¶
ConfigurationObjectIsNil Переданный объект, является nil объектом.
func (*Error) ConfigurationObjectIsNotAddress ¶
ConfigurationObjectIsNotAddress Объект конфигурации с типом ... передан не корректно. Необходимо передать адрес объекта.
func (*Error) ConfigurationObjectIsNotStructure ¶
ConfigurationObjectIsNotStructure Переданный объект ... не является структурой.
func (*Error) ConfigurationObjectIsNotValid ¶
ConfigurationObjectIsNotValid Объект конфигурации с типом ... не инициализирован.
func (*Error) ConfigurationObjectNotFound ¶
ConfigurationObjectNotFound Объект конфигурации с типом ... не найден.
func (*Error) ConfigurationPermissionDenied ¶
ConfigurationPermissionDenied Отсутствует доступ к файлу конфигурации, ошибка: ...
func (*Error) ConfigurationSetDefault ¶
ConfigurationSetDefault Установка значений по умолчанию, для переменных конфигурации, прервана ошибкой: ...
func (*Error) ConfigurationSetDefaultPanic ¶
ConfigurationSetDefaultPanic Непредвиденная ошибка, при установке значений по умолчанию, объекта конфигурации. Паника: ...
func (*Error) ConfigurationSetDefaultValue ¶
ConfigurationSetDefaultValue Установка значения по умолчанию ..., для переменной конфигурации ..., прервана ошибкой: ...
func (*Error) ConfigurationUnexpectedMistakeFileAccess ¶
func (e *Error) ConfigurationUnexpectedMistakeFileAccess(code uint8, filename string, err error) Err
ConfigurationUnexpectedMistakeFileAccess Неожиданная ошибка доступа к файлу конфигурации ...: ...
func (*Error) DatabusInternalError ¶
DatabusInternalError Внутренняя ошибка шины данных: ...
func (*Error) DatabusNotSubscribersForType ¶
DatabusNotSubscribersForType Отсутствуют потребители данных для типа данных: ...
func (*Error) DatabusObjectIsNil ¶
DatabusObjectIsNil Передан nil объект.
func (*Error) DatabusPanicException ¶
DatabusPanicException Работа с подпиской потребителя, в шине данных, прервана паникой: ... ....
func (*Error) DatabusRecursivePointer ¶
DatabusRecursivePointer Не возможно определить тип рекурсивного указателя: ...
func (*Error) DatabusSubscribeNotFound ¶
DatabusSubscribeNotFound Потребитель данных ... не был подписан на шину данных.
func (*Error) GetCurrentUser ¶
GetCurrentUser Не удалось загрузить данные о текущем пользователе операционной системы: ...
func (*Error) InitLogging ¶
InitLogging Критическая ошибка в модуле менеджера логирования: ...
func (*Error) PidExistsAnotherProcessOfApplication ¶
PidExistsAnotherProcessOfApplication Существует один или несколько работающих процессов приложения, измените PID файл или остановите экземпляры приложения, PID: ...
func (*Error) PidFileError ¶
PidFileError Ошибка работы с PID файлом ...: ...
func (*Error) RunlevelAlreadySubscribedFunction ¶
RunlevelAlreadySubscribedFunction Функция ... уже подписана на получение событий изменения уровня работы приложения.
func (*Error) RunlevelCantLessCurrentLevel ¶
func (e *Error) RunlevelCantLessCurrentLevel(code uint8, currentRunlevel uint16, newRunlevel uint16) Err
RunlevelCantLessCurrentLevel Новый уровень работы приложения (...) не может быть меньше текущего уровня работы приложения (...).
func (*Error) RunlevelSubscribeUnsubscribeNilFunction ¶
RunlevelSubscribeUnsubscribeNilFunction Передана nil функция, подписка или отписка nil функции не возможна.
func (*Error) RunlevelSubscriptionNotFound ¶
RunlevelSubscriptionNotFound Не найдена подписка функции ... на события изменения уровня работы приложения.
type Essence ¶
type Essence interface {
// Cfg Интерфейс конфигурации.
Cfg() Interface
// Logger Интерфейс менеджера логирования.
Logger() kitModuleLog.Logger
// CLI Интерфейс к методам работы с параметрами командной строки и переменных окружения.
CLI() kitModuleCfgCli.Interface
// App Точка запуска приложения.
App()
// AppName Установка значения названия приложения.
AppName(name string) Essence
// Version Присвоение версии и номера сборки приложения в семантике "Semantic Versioning 2.0.0".
Version(version string, build string) Essence
// Debug Присвоение нового значения режима отладки приложения.
Debug(debug bool) Essence
// UpdateBootstrapConfigurationPathValue Коррекция значений стартовой конфигурация приложения, если они были загружены
// из командной строки или переменной окружения, то есть не равны значениям по умолчанию
UpdateBootstrapConfigurationPathValue() Essence
// CommandFull Присвоение значения команды с которой было запущено приложение.
CommandFull(cmd []string) Essence
// ForkWorkerMode Присвоение нового значения режима запуска в качестве подчинённого процесса основного приложения.
ForkWorkerMode(isForkWorker bool) Essence
// ErrorAppend Добавление ошибки в стек ошибок приложения.
ErrorAppend(err error) Essence
// IsError Возвращает истину, если есть ошибки приложения.
IsError() bool
// Runlevel Установка или увеличение значения уровня работы приложения.
// Поведение функции в зависимости от значения аргумента runlevel:
// * runlevel>0 - будет выполнена установка нового значения, новое значение не может быть меньше текущего значения.
// * runlevel=0 - значение Runlevel будет увеличено на единицу.
Runlevel(runlevel uint16) Essence
// RunlevelNext Переключение значения уровня работы приложения на следующий уровень.
// От 01 до 10 переключается на единицу, последовательно.
// От 10 до 65535 переключается согласно карте уровней, если текущий уровень не входит в карту - последовательно.
// На уровне 65535 переключение останавливается, вызов функции не меняет уровень.
RunlevelNext() Essence
// RunlevelNextAsync Асинхронное переключение значения уровня работы приложения на следующий уровень.
RunlevelNextAsync()
// RunlevelDefault Уровень выполнения компонентов приложения по умолчанию.
RunlevelDefault() (ret uint16)
// RunlevelAutoincrementStop Отключение режима автоматического увеличения уровня работы приложения.
RunlevelAutoincrementStop() Essence
// RunlevelAutoincrementStart Включение режима автоматического увеличения уровня работы приложения.
RunlevelAutoincrementStart() Essence
// RunlevelExit Переключение значения уровня работы приложения на уровень завершения работы приложения.
RunlevelExit() Essence
// RunlevelExitAsync Переключение значения уровня работы приложения на уровень завершения работы приложения.
RunlevelExitAsync()
// Targetlevel Установка значения целевого уровня работы приложения.
Targetlevel(tl uint16) Essence
// Registration Регистрация разных объектов приложения.
Registration(name string, obj any) (err error)
// ComponentName Получение уникального имени пакета компоненты.
ComponentName(obj any) (ret string)
// ComponentNames Возвращает список зарегистрированных компонентов.
ComponentNames() []string
// ComponentPreferences Функция-менеджер загрузки и обработки настроек компонентов.
ComponentPreferences(fn kitTypes.ComponentPreferencesFn) (code uint8, err error)
// ComponentCheckConflict Проверка конфликтов между всеми зарегистрированными компонентами.
ComponentCheckConflict(fn kitTypes.ComponentConflictFn) (code uint8, err error)
// ComponentRequiresCheck Проверка зависимостей между всеми зарегистрированными компонентами.
ComponentRequiresCheck(fn kitTypes.ComponentRequiresFn) (code uint8, err error)
// ComponentSort Сортировка зарегистрированных компонентов в соответствии с настройками (before) и (after).
ComponentSort(fn kitTypes.ComponentSortFn) (code uint8, err error)
// ComponentMapRunlevel Построение шагов переключения уровня выполнения приложения (runlevel).
ComponentMapRunlevel(targetlevel uint16) (code uint8, err error)
// ComponentInitiate Вызов функции Initiate у всех зарегистрированных компонентов в прямом порядке.
ComponentInitiate(fn kitTypes.ComponentInitiateFn) (code uint8, err error)
// ComponentDo Вызов функции Do у всех зарегистрированных компонентов в прямом порядке для указанного уровня приложения.
ComponentDo(runlevel uint16, fn kitTypes.ComponentDoFn) (code uint8, err error)
// ComponentFinalizeWarningTimeout Возвращает время отводимое на выполнение функции Finalize(), до печати в лог
// сообщения о долгой работе функции.
ComponentFinalizeWarningTimeout() (ret time.Duration)
// ComponentFinalize Вызов функции Finalize у всех зарегистрированных компонентов в обратном порядке.
ComponentFinalize(fn kitTypes.ComponentFinalizeFn) (code uint8, err error)
// ComponentCommandRegister Регистрация команды и группы команд компоненты.
ComponentCommandRegister(cc kitTypes.ComponentCommand)
// ComponentFlagRegister Регистрация глобального флага компоненты приложения.
ComponentFlagRegister(cf kitTypes.ComponentFlag)
// DirectoryHome Установка значения домашней директория приложения.
DirectoryHome(ahd string) Essence
// DirectoryWorking Установка значения рабочей директории приложения.
DirectoryWorking(awd string) Essence
// DirectoryTemp Установка значения директории для временных файлов.
DirectoryTemp(atd string) Essence
// DirectoryCache Установка значения директории для файлов кеша.
DirectoryCache(acd string) Essence
// DirectoryConfig Установка значения директории для подключаемых или дополнительных конфигураций приложения.
DirectoryConfig(afd string) Essence
// FileConfig Установка значения пути и имени конфигурационного файла приложения.
FileConfig(cfn string) Essence
// FilePid Установка значения пути и имени PID файла приложения.
FilePid(pfn string) Essence
// FileState Установка значения пути и имени файла хранения состояния приложения.
FileState(stf string) Essence
// FileSocket Установка значения пути и имени сокет файла коммуникаций с приложением.
FileSocket(sof string) Essence
// LogLevel Установка значения уровня логирования приложения.
LogLevel(ll kitModuleLogLevel.Level) Essence
// ConfigurationRegistration Регистрация объекта конфигурации, являющегося частью общей конфигурации приложения.
// Регистрация доступна только на уровне работы приложения 0.
// Объект конфигурации должен передаваться в качестве адреса.
// Поля объекта конфигурации должны состоять из простых и/или сериализуемых типов данных и быть экспортируемыми.
// Поля объекта могут содержать теги, которые определяют внедрение конфигурации в конфигурацию приложения.
// Вместе с объектом конфигурации можно передать функцию обратного вызова, она будет вызвана при изменении данных
// конфигурации, например при перезагрузке файла конфигурации или иных реализациях динамического изменения
// значений конфигурации.
// Теги:
// - description ---- Описание поля, публикуется в YAML файле, при создании примера конфигурации,
// подробности в компоненте "configuration".
// Если указано значение "-", тогда описание не публикуется.
// - default-value -- Значение поля по умолчанию, присваивается после чтения конфигурационного файла,
// а так же, публикуется в YAML файле, при создании примера конфигурации.
// - yaml ----------- Тег для библиотеки YAML, если указано значение "-", тогда поле пропускается.
// Возвращаемый результат:
// - истина - в случае успешного внедрения конфигурации в конфигурацию приложения;
// - ложь - в случае возникновения ошибки при внедрении конфигурации. Сама ошибка публикуется в список ошибок
// приложения.
ConfigurationRegistration(c any, callback ...kitTypes.Callbacker) (isOk bool)
// ConfigurationCallbackSubscribe Подписка функции обратного вызова на событие изменения данных сегмента
// конфигурации. Функция будет вызвана при изменении данных конфигурации, например при перезагрузке файла
// конфигурации или иных реализациях динамического изменения значений конфигурации.
ConfigurationCallbackSubscribe(c any, callback kitTypes.Callbacker) (err error)
// ConfigurationCallbackUnsubscribe Отписка функции обратного вызова на событие изменения данных сегмента
// конфигурации.
ConfigurationCallbackUnsubscribe(c any, callback kitTypes.Callbacker) (err error)
// ConfigurationLoad Загрузка конфигурационного файла.
ConfigurationLoad(buf *bytes.Buffer) (err error)
// AbsolutePathAndUpdate Функция преобразует относительный путь в абсолютный путь,
// проверяет равно ли новое значение старому, если значение изменилось, тогда обновляет значение в указанной
// переменной и возвращает результирующее значение.
AbsolutePathAndUpdate(dir *string) (ret string)
}
Essence Служебный публичный интерфейс.
type Interface ¶
type Interface interface {
// Answer Интерфейс библиотеки функций для формирования ответа на HTTP запрос к серверу.
Answer() kitModuleAns.Interface
// Bus Интерфейс шины данных приложения.
Bus() kitModuleBus.Interface
// Gist Интерфейс к служебным методам конфигурации приложения.
Gist() Essence
// Version Интерфейс к методам получения версии приложения.
Version() Version
// UUID Интерфейс к методам генерации и работы с UUID идентификаторами.
UUID() kitModuleUuid.Interface
// RawWriter Интерфейс вывода потоковых сообщений.
RawWriter() kitTypes.SyncWriter
// Server Интерфейс менеджера управления сервером.
Server() kitModuleServer.Interface
// Log Интерфейс к методам логирования.
Log() kitTypes.Logger
// Loglevel Текущий уровень логирования приложения.
Loglevel() kitModuleLogLevel.Level
// AppName Название приложения.
AppName() string
// Command Функция возвращает команду с которой было запущено приложение.
Command() (ret string)
// CommandFull Функция возвращает команду с которой было запущено приложение.
CommandFull() []string
// Debug Функция возвращает текуще значение режима отладки приложения.
Debug() (ret bool)
// ForkWorker Параметры работы в режиме fork worker.
ForkWorker() *kitTypes.BootstrapConfigurationForkWorker
// IsForkWorker Возвращает истину для режима запуска приложения в качестве подчинённого процесса основного приложения.
// В этом режиме приложению нельзя использовать STDIN/STDOUT/STDERR, эти потоки используются для обмена данными
// с управляющим приложением.
// Так же, этот режим устанавливается в случае запуска приложения как daemon процесса, в этом режиме запуска, тоже
// нельзя использовать STDIN/STDOUT/STDERR, так как режим daemon, для приложения, возможен только после полного
// закрытия этих потоков.
IsForkWorker() (ret bool)
// Runlevel Возвращает текущее значение уровня работы приложения.
Runlevel() uint16
// RunlevelMap Возвращает карту, описывающую план переключения уровней работы приложения.
RunlevelMap() []uint16
// RunlevelSubscribe Подписка на события изменения уровня работы приложения.
RunlevelSubscribe(fn RunlevelSubscriberFn) (err error)
// RunlevelUnsubscribe Отписка от событий изменения уровня работы приложения.
RunlevelUnsubscribe(fn RunlevelSubscriberFn) (err error)
// RunlevelAutoincrement Режим работы автоматического увеличения уровня работы приложения.
RunlevelAutoincrement() (ret bool)
// Targetlevel Возвращает текущее значение целевого уровня работы приложения.
Targetlevel() uint16
// User Текущий пользователь операционной системы.
User() *user.User
// AbsolutePath Функция преобразует относительный путь в абсолютный путь к директории или файлу.
// Учитывается символ '~' обозначающий домашнюю директорию текущего пользователя.
AbsolutePath(pth string) (ret string)
// DirectoryHome Значение домашней директории приложения.
DirectoryHome() string
// DirectoryWorking Значение рабочей директории приложения.
DirectoryWorking() string
// DirectoryWorkingChdir Функция выполняет переход в рабочую директорию приложения.
// Возвращается ошибка операционной системы, с причиной не возможности перейти в рабочую директорию.
DirectoryWorkingChdir() (err error)
// DirectoryTemp Значение директории для временных файлов.
DirectoryTemp() string
// DirectoryCache Значение директории для файлов кеша.
DirectoryCache() string
// DirectoryConfig Значение директории для подключаемых или дополнительных конфигураций приложения.
DirectoryConfig() string
// FileConfig Значение пути и имени конфигурационного файла приложения.
FileConfig() string
// FilePid Значение пути и имени PID файла приложения.
FilePid() string
// FileState Значение пути и имени файла хранения состояния приложения.
FileState() string
// FileSocket Значение пути и имени сокет файла коммуникаций с приложением.
FileSocket() string
// ConfigurationUnionSprintf Печать объединённой конфигурации приложения в строку.
ConfigurationUnionSprintf() (ret string)
// ConfigurationByType Возвращает объект конфигурации соответствующий указанному типу объекта.
// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
ConfigurationByType(t reflect.Type) (ret any, err error)
// ConfigurationByTypeName Возвращает объект конфигурации соответствующий указанному названию типа объекта.
// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
ConfigurationByTypeName(typeName string) (ret any, err error)
// ConfigurationByObject Возвращает объект конфигурации соответствующий типу переданного объекта, сам переданный
// объект никак не изменяется, он служит только для определения типа данных.
// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
ConfigurationByObject(o any) (ret any, err error)
// ConfigurationCopyByObject Если существует конфигурация с типом данных идентичным переданному объекту,
// тогда данные конфигурации копируются в переданный объект.
// Если объект конфигурации с указанным типом не регистрировался, будет возвращена ошибка.
// Объект должен передаваться по адресу, иначе его заполнение не возможно и будет возвращена ошибка.
ConfigurationCopyByObject(o any) (err error)
// Errors Справочник ошибок.
Errors() *Error
}
Interface Интерфейс пакета.
func RegistrationMain ¶
RegistrationMain Регистрация основной функции приложения.
type RunlevelSubscriberFn ¶
RunlevelSubscriberFn Тип функции для подписки на события изменения уровня работы приложения Функция вызывается каждый раз при изменении уровня работы приложения
type Version ¶
type Version interface {
// Major returns the major version
Major() uint64
// Minor returns the minor version
Minor() uint64
// Patch returns the patch version
Patch() uint64
// Prerelease returns the prerelease version
Prerelease() string
// Metadata returns the metadata on the version
Metadata() string
// String converts a Version object to a string
String() string
// MarshalJSON implements JSON.Marshaler interface
MarshalJSON() ([]byte, error)
// UnmarshalJSON implements JSON.Unmarshaler interface
UnmarshalJSON(b []byte) error
}
Version Интерфейс доступа к методам версии в семантике "Семантическое Версионирование 2.0.0"
Source Files
¶
- cfg.go
- cfg_init.go
- cfg_interface.go
- configuration.go
- constants.go
- defaults.go
- doc.go
- errors.go
- gist.go
- gist_application.go
- gist_component.go
- gist_interface.go
- log_record.go
- log_recorder.go
- runlevel.go
- syncwriter.go
- types.go
- types_configuration.go
- types_errors.go
- types_recorder.go
- types_runlevel.go
- types_scanner.go
- types_version.go
- utilities.go
- utilities_reflect.go
- version.go