Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AbsolutePath ¶
AbsolutePath Функция преобразует относительный путь в абсолютный путь к директории или файлу. Учитывается символ '~' обозначающий домашнюю директорию текущего пользователя. Так же раскрываются все символические ссылки в пути оригинальных файлов и директорий.
Types ¶
type Error ¶
type Error struct { dic.Errors // ApplicationPanicException Выполнение приложения прервано паникой:\n...\n... ApplicationPanicException dic.IError // ApplicationUnknownError Неизвестная ошибка ... ApplicationUnknownError dic.IError // ApplicationHelpDisplayed Отображение помощи ... ApplicationHelpDisplayed dic.IError // ApplicationVersion Версии приложения содержит ошибку: ... ApplicationVersion dic.IError // ApplicationMainFuncNotFound Не определена основная функция приложения. ApplicationMainFuncNotFound dic.IError // ApplicationMainFuncAlreadyRegistered Основная функция приложения уже зарегистрирована. ApplicationMainFuncAlreadyRegistered dic.IError // ApplicationRegistrationUnknownObject Регистрация не известного компонента, объекта или модуля: ... ApplicationRegistrationUnknownObject dic.IError // ComponentIsNull В качестве объекта компоненты передан nil. ComponentIsNull dic.IError // ComponentRegistrationProhibited Регистрация компонентов запрещена. Компонента ... не зарегистрирована. ComponentRegistrationProhibited dic.IError // ComponentRegistrationError Регистрация компоненты ... завершилась ошибкой: ... ComponentRegistrationError dic.IError // ComponentPreferencesCallBeforeCompleting Опрос настроек компонентов вызван до завершения регистрации компонентов. ComponentPreferencesCallBeforeCompleting dic.IError // ComponentPanicException Выполнение компоненты ... прервано паникой:\n...\n... ComponentPanicException dic.IError // ComponentRunlevelError Уровень запуска (runlevel), для компоненты ... указан ..., необходимо указать уровень равный 0, либо в интервале от 10 до 65534 включительно. ComponentRunlevelError dic.IError // ComponentRulesError Правила ... для компоненты ... содержат ошибку: ... ComponentRulesError dic.IError // RunlevelCantLessCurrentLevel Новый уровень работы приложения (...) не может быть меньше текущего уровня работы приложения (...). RunlevelCantLessCurrentLevel dic.IError // InitLogging Критическая ошибка в модуле менеджера логирования: ... InitLogging dic.IError // ComponentConflict Компонента ... конфликтует с компонентой ... ComponentConflict dic.IError // ComponentRequires Компонента ... имеет не удовлетворённую зависимость ... ComponentRequires dic.IError // ComponentInitiateTimeout Превышено время ожидание выполнения функции Initiate() компоненты ... ComponentInitiateTimeout dic.IError // ComponentInitiateExecution Выполнение функции Initiate() компоненты ... завершено с ошибкой: ... ComponentInitiateExecution dic.IError // ComponentInitiatePanicException Выполнение функции Initiate() компоненты ... прервано паникой:\n...\n... ComponentInitiatePanicException dic.IError // ComponentDoExecution Выполнение функции Do() компоненты ... завершено с ошибкой: ... ComponentDoExecution dic.IError // ComponentDoPanicException Выполнение функции Do() компоненты ... прервано паникой:\n...\n... ComponentDoPanicException dic.IError // ComponentDoUnknownError Выполнение функций Do() завершилось ошибкой: ... ComponentDoUnknownError dic.IError // ComponentFinalizeExecution Выполнение функции Finalize() компоненты ... завершено с ошибкой: ... ComponentFinalizeExecution dic.IError // ComponentFinalizePanicException Выполнение функции Finalize() компоненты ... прервано паникой:\n...\n... ComponentFinalizePanicException dic.IError // ComponentFinalizeUnknownError Выполнение функций Finalize() завершилось ошибкой: ... ComponentFinalizeUnknownError dic.IError // ComponentFinalizeWarning Выполнение функций Finalize() компоненты ..., длится дольше отведённого времени (...). ComponentFinalizeWarning dic.IError // RunlevelSubscribeUnsubscribeNilFunction Передана nil функция, подписка или отписка nil функции не возможна. RunlevelSubscribeUnsubscribeNilFunction dic.IError // RunlevelAlreadySubscribedFunction Функция ... уже подписана на получение событий изменения уровня работы приложения. RunlevelAlreadySubscribedFunction dic.IError // RunlevelSubscriptionNotFound Не найдена подписка функции ... на события изменения уровня работы приложения. RunlevelSubscriptionNotFound dic.IError // RunlevelSubscriptionPanicException Вызов функции подписчика на событие изменения уровня работы приложения, прервано паникой:\n...\n.... RunlevelSubscriptionPanicException dic.IError // CommandLineArgumentRequired Требуется указать обязательную команду, аргумент или флаг командной строки: ... CommandLineArgumentRequired dic.IError // CommandLineArgumentUnknown Неизвестная команда, аргумент или флаг командной строки: ... CommandLineArgumentUnknown dic.IError // CommandLineArgumentNotCorrect Не верное значение или тип аргумента, флага или параметра: ... CommandLineArgumentNotCorrect dic.IError // CommandLineRequiredFlag Не указан один или несколько обязательных флагов: ... CommandLineRequiredFlag dic.IError // CommandLineUnexpectedError Не предвиденная ошибка библиотеки командного интерфейса приложения: ...; ... CommandLineUnexpectedError dic.IError // ConfigurationBootstrap Ошибка начально bootstrap конфигурации приложения: ... ConfigurationBootstrap dic.IError // GetCurrentUser Не удалось загрузить данные о текущем пользователе операционной системы: ... GetCurrentUser dic.IError // CantChangeWorkDirectory Не удалось сменить рабочую директорию приложения: ... CantChangeWorkDirectory dic.IError // PidExistsAnotherProcessOfApplication Существует один или несколько работающих процессов приложения, измените PID файл или остановите экземпляры приложения, PID: ... PidExistsAnotherProcessOfApplication dic.IError // PidFileError Ошибка работы с PID файлом ...: ... PidFileError dic.IError // DatabusRecursivePointer Не возможно определить тип рекурсивного указателя: ... DatabusRecursivePointer dic.IError // DatabusPanicException Работа с подпиской потребителя, в шине данных, прервана паникой:\n...\n... DatabusPanicException dic.IError // DatabusSubscribeNotFound Потребитель данных ... не был подписан на шину данных. DatabusSubscribeNotFound dic.IError // DatabusInternalError Внутренняя ошибка шины данных: ... DatabusInternalError dic.IError // DatabusNotSubscribersForType Отсутствуют потребители данных для типа данных: ... DatabusNotSubscribersForType dic.IError // DatabusObjectIsNil Передан nil объект. DatabusObjectIsNil dic.IError // ConfigurationApplicationProhibited Регистрация объектов конфигурации на текущем уровне работы приложения запрещена. Конфигурация ... не зарегистрирована. ConfigurationApplicationProhibited dic.IError // ConfigurationApplicationObject Объект конфигурации приложения содержит ошибку: ... ConfigurationApplicationObject dic.IError // ConfigurationApplicationPanic Непредвиденная ошибка при регистрации объекта конфигурации.\nПаника: ...\n... ConfigurationApplicationPanic dic.IError // ConfigurationFileNotFound Указанного файла конфигурации ... не существует: ... ConfigurationFileNotFound dic.IError // ConfigurationPermissionDenied Отсутствует доступ к файлу конфигурации ..., ошибка: ... ConfigurationPermissionDenied dic.IError // ConfigurationUnexpectedMistakeFileAccess Неожиданная ошибка доступа к файлу конфигурации ...: ... ConfigurationUnexpectedMistakeFileAccess dic.IError // ConfigurationFileIsDirectory В качестве файла конфигурации указана директория: ... ConfigurationFileIsDirectory dic.IError // ConfigurationFileReadingError Чтение фала конфигурации ... прервано ошибкой: ... ConfigurationFileReadingError dic.IError // ConfigurationSetDefault Установка значений по умолчанию, для переменных конфигурации, прервана ошибкой: ... ConfigurationSetDefault dic.IError // ConfigurationSetDefaultValue Установка значения по умолчанию ..., для переменной конфигурации ..., прервана ошибкой: ... ConfigurationSetDefaultValue dic.IError // ConfigurationSetDefaultPanic Непредвиденная ошибка, при установке значений по умолчанию, объекта конфигурации.\nПаника: ...\n... ConfigurationSetDefaultPanic dic.IError // ConfigurationObjectNotFound Объект конфигурации с типом ... не найден. ConfigurationObjectNotFound dic.IError // ConfigurationObjectIsNotStructure Переданный объект ... не является структурой. ConfigurationObjectIsNotStructure dic.IError // ConfigurationObjectIsNil Переданный объект, является nil объектом. ConfigurationObjectIsNil dic.IError // ConfigurationObjectIsNotValid Объект конфигурации с типом ... не инициализирован. ConfigurationObjectIsNotValid dic.IError // ConfigurationObjectIsNotAddress Объект конфигурации с типом ... передан не корректно. Необходимо передать адрес объекта. ConfigurationObjectIsNotAddress dic.IError // ConfigurationObjectCopy Копирование объекта конфигурации с типом ... прервано ошибкой: ... ConfigurationObjectCopy dic.IError // ConfigurationCallbackAlreadyRegistered Подписка функции обратного вызова на изменение конфигурации с типом ... для функции ... уже существует. ConfigurationCallbackAlreadyRegistered dic.IError // ConfigurationCallbackSubscriptionNotFound Подписка функции обратного вызова на изменение конфигурации с типом ... для функции ... не существует. ConfigurationCallbackSubscriptionNotFound dic.IError }
Error Структура справочника ошибок.
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_recorder.go
- types_runlevel.go
- types_scanner.go
- types_version.go
- utilities.go
- utilities_reflect.go
- version.go