Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Error ¶
type Error struct { dic.Errors // 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 // DatabusPoolInternalError Бассейн объектов вернул не корректный объект. DatabusPoolInternalError dic.IError }
Error Структура справочника ошибок.
type Essence ¶
type Essence interface { // Debug Присвоение нового значения режима отладки. Debug(debug bool) Essence // WorkerStart Запуск обработчика шины данных. WorkerStart(workerCount int) Essence // WorkerStop Остановка обработчика шины данных с подтверждением остановки. // Функция блокируется до подтверждения завершения потока обработчика. WorkerStop() Essence // Statistic Статистика работы бассейна шины данных. // Статистика ведётся только если шина данных создана с флагом отладки New(..., isDebug=true). // Если шина данных создана без флага отладки, статистика вернёт nil. Statistic() *kitModulePdw.Statistic }
Essence Служебный публичный интерфейс.
type Interface ¶
type Interface interface { // Subscribe Регистрация потребителя данных. // Вернётся ошибка, если: // - потребитель данных является nil. // - функция регистрации типов данных вернула недопустимые значения. Subscribe(databuser kitTypes.Databuser) (err error) // Unsubscribe Удаление потребителя данных. // Вернётся ошибка, если: // - потребитель данных является nil. // - потребитель данных не регистрировался или подписка потребителя была уже удалена. Unsubscribe(databuser kitTypes.Databuser) (err error) // IsSubscriber Проверка, существуют ли хотя бы один потребитель для указанного типа данных. // Функция возвращает: // - истина - если существует хотя бы один потребитель; // - ложь - если не существует ни одного потребителя; IsSubscriber(data any) bool // PublishSync Передача в шину данных объекта данных в синхронном режиме, функция блокируется до окончания передачи // данных всем зарегистрированным потребителям, подписанным на получение передаваемого типа данных. // Функция вернёт ошибку, если: // - тип переданных данных не зарегистрирован ни одним потребителем данных, то есть некому передать данные. // - тип данных является пустым интерфейсом или nil. // - ошибку вернул потребитель данных. PublishSync(data any) (ret []any, errs []error) // PublishSyncWithContext Передача в шину данных объекта данных в синхронном режиме с контекстом, // функция блокируется до окончания передачи данных всем зарегистрированным потребителям, подписанным на получение // передаваемого типа данных. // Прервать ожидание ответа можно через контекст. // Функция вернёт ошибку, если: // - тип переданных данных не зарегистрирован ни одним потребителем данных, то есть некому передать данные. // - тип данных является пустым интерфейсом или nil. // - ошибку вернул потребитель данных. // - произошло прерывание ожидания ответа через контекст. PublishSyncWithContext(ctx context.Context, data any) (ret []any, errs []error) // PublishSyncWithTimeout Передача в шину данных объекта данных в синхронном режиме с таймаутом, // функция блокируется до окончания передачи данных всем зарегистрированным потребителям, подписанным на получение // передаваемого типа данных. // Ожидание автоматически прервётся через время указанное в timeout. // Функция вернёт ошибку, если: // - тип переданных данных не зарегистрирован ни одним потребителем данных, то есть некому передать данные. // - тип данных является пустым интерфейсом или nil. // - ошибку вернул потребитель данных. // - произошло прерывание ожидания ответа по таймауту. PublishSyncWithTimeout(timeout time.Duration, data any) (ret []any, errs []error) // PublishAsync Передача в шину данных объекта данных в асинхронном режиме. // Функция вернёт ошибку, если: // - тип переданных данных не зарегистрирован ни одним потребителем данных, то есть некому передать данные. // - тип данных является пустым интерфейсом или nil. PublishAsync(data any) (err error) // Gist Интерфейс к служебным методам. Gist() Essence // Errors Справочник ошибок. Errors() *Error }
Interface Интерфейс объекта сущности.
func New ¶
New Конструктор объекта пакета, возвращает интерфейс Interface. bufferLength - Размер буфера шины данных, если указано 0 или отрицательное число, используется размер по умолчанию,
равный 1000000 сообщений.
workerCount - Количество запускаемых обработчиков сообщений шины данных. Если указано 0 или отрицательное число,
используется значение по умолчанию, равное 1000 обработчиков.
isDebug - Флаг отладки.
Click to show internal directories.
Click to hide internal directories.