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