IParentChildMap
Сопоставляет идентификаторы родительской подписки с идентификаторами дочерних подписок (для маршрутизации с несколькими адаптерами).
Методы
public void AddMapping(long childId, ISubscriptionMessage parentMsg, IMessageAdapter adapter)
iParentChildMap.AddMapping(childId, parentMsg, adapter)
Добавьте сопоставление родитель-потомок.
- childId
- Идентификатор дочерней подписки.
- parentMsg
- Сообщение о подписке для родителей.
- adapter
- Адаптер, назначенный этому дочернему элементу.
public IDictionary<long, IMessageAdapter> GetChild(long parentId)
result = iParentChildMap.GetChild(parentId)
Получите все активные дочерние подписки родителя.
- parentId
- Идентификатор родительской подписки.
Возвращает: Словарь childId → адаптер.
public long? ProcessChildFinish(long childId, bool needParentResponse)
result = iParentChildMap.ProcessChildFinish(childId, needParentResponse)
Обработка завершения дочерней подписки.
- childId
- Идентификатор дочерней подписки.
- needParentResponse
- Следует ли отправлять ответ родителю.
Возвращает: Идентификатор родительской подписки или значение NULL, если не найдено.
public long? ProcessChildOnline(long childId, bool needParentResponse)
result = iParentChildMap.ProcessChildOnline(childId, needParentResponse)
Обработка онлайн-уведомления о дочерней подписке.
- childId
- Идентификатор дочерней подписки.
- needParentResponse
- Следует ли отправлять ответ родителю.
Возвращает: Идентификатор родительской подписки или значение NULL, если не найдено.
public long? ProcessChildResponse(long childId, Exception error, bool needParentResponse, bool allError, IEnumerable<Exception> innerErrors)
result = iParentChildMap.ProcessChildResponse(childId, error, needParentResponse, allError, innerErrors)
Обработка ответа на дочернюю подписку.
- childId
- Идентификатор дочерней подписки.
- error
- Ошибка, если есть.
- needParentResponse
- Следует ли отправлять ответ родителю.
- allError
- У всех ли детей есть ошибки.
- innerErrors
- Все собранные ошибки.
Возвращает: Идентификатор родительской подписки или значение NULL, если не найдено.
public bool RemoveMapping(long childId)
result = iParentChildMap.RemoveMapping(childId)
Удалите дочернее сопоставление.
- childId
- Идентификатор дочерней подписки, который нужно удалить.
Возвращает: если удалить.
public int RemoveMappings(long parentId)
result = iParentChildMap.RemoveMappings(parentId)
Удалить все дочерние сопоставления для указанного родителя.
- parentId
- Идентификатор родительской подписки.
Возвращает: Количество удаленных сопоставлений.
public bool TryGetParent(long childId, long parentId)
result = iParentChildMap.TryGetParent(childId, parentId)
Попробуйте получить родительский идентификатор для дочерней подписки.
- childId
- Идентификатор дочерней подписки.
- parentId
- Идентификатор родительской подписки, если он найден.
Возвращает: если найден.