O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

nl :: Tecer:: Perfis :: DataManagement_Current :: SubscriptionClient

Resumo

Tipos públicos

@130 enum
EventCallback )(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam) typedef
void(*
Retorno de chamada para passar eventos de assinatura para o aplicativo.
EventID {
kEvent_OnSubscriptionTerminated = 1,
kEvent_OnExchangeStart = 2,
kEvent_OnSubscribeRequestPrepareNeeded = 3,
kEvent_OnSubscriptionEstablished = 4,
kEvent_OnNotificationRequest = 5,
kEvent_OnNotificationProcessed = 6,
kEvent_OnEventStreamReceived = 7,
kEvent_OnSubscriptionActivity = 8,
kEvent_OnUpdateComplete = 9,
kEvent_OnNoMorePendingUpdates = 10
}
enum
ResubscribePolicyCallback )(void *const aAppState, ResubscribeParam &aInParam, uint32_t &aOutIntervalMsec) typedef
void(*
Retorno de chamada para buscar o intervalo de tempo de espera antes da próxima nova assinatura.

Funções estáticas públicas

DefaultEventHandler ( EventID aEvent, const InEventParam & aInParam, OutEventParam & aOutParam)
void
DefaultResubscribePolicyCallback (void *const aAppState, ResubscribeParam & aInParam, uint32_t & aOutIntervalMsec)
void
A implementação da política padrão escolherá um timeslot aleatório com resolução de milissegundos em uma janela sempre crescente, seguindo uma sequência de fibonacci até WDM_RESUBSCRIBE_MAX_FIBONACCI_STEP_INDEX.

Funções públicas

AbortSubscription (void)
void
Aborte a assinatura.
ClearUpdated ( TraitUpdatableDataSink *aDataSink, PropertyPathHandle aPropertyHandle)
DisableResubscribe (void)
void
Desative o mecanismo de nova inscrição.
DiscardUpdates ()
void
Diz ao SubscriptionClient para esvaziar o conjunto de TraitPaths pendentes para atualização e abortar a solicitação de atualização que está em andamento, se houver.
EnableResubscribe ( ResubscribePolicyCallback aCallback)
void
Habilite resubscribes automáticos.
EndSubscription (void)
Encerre a assinatura.
FlushUpdate ()
Sinaliza que o aplicativo concluiu a mutação de todos os TraitUpdatableDataSinks.
FlushUpdate (bool aForce)
Free (void)
void
Liberte este objeto SubscriptionClient .
GetBinding (void) const
GetLivenessTimeoutMsec (void) const
uint32_t
GetPeerNodeId (void) const
uint64_t
GetSubscriptionId (uint64_t *const apSubscriptionId)
IndicateActivity (void)
void
InitiateCounterSubscription (const uint32_t aLivenessTimeoutSec)
void
InitiateSubscription (void)
void
Configure o SubscriptionClient como um iniciador (em oposição a um contra-assinante) e aumente a assinatura se não for.
IsCanceling () const
bool
IsEstablished ()
bool
IsEstablishedIdle ()
bool
IsFree ()
bool
IsInProgressOrEstablished ()
bool
IsInResubscribeHoldoff ()
bool
IsRetryEnabled ()
bool
IsTerminated ()
bool
IsUpdatePendingOrInProgress ()
bool
LockUpdateMutex (void)
void
OnCatalogChanged ()
void
Este método deve ser chamado quando o catálogo TraitDataSink for modificado.
ResetResubscribe (void)
void
Expulse o mecanismo de resubscribe.
SetLivenessTimeoutMsec (uint32_t val)
void
SetUpdated ( TraitUpdatableDataSink *aDataSink, PropertyPathHandle aPropertyHandle, bool aIsConditional)
SuspendUpdateRetries ()
void
Diz ao SubscriptionClient para parar de repetir as solicitações de atualização.
UnlockUpdateMutex (void)
void

Structs

nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionClient :: LastObservedEvent
nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionClient :: ResubscribeParam

Sindicatos

nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionClient :: InEventParam
nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionClient :: OutEventParam

Tipos públicos

@ 130

 @130

EventCallback

void(* EventCallback)(void *const aAppState, EventID aEvent, const InEventParam &aInParam, OutEventParam &aOutParam)

Retorno de chamada para passar eventos de assinatura para o aplicativo.

Detalhes
Parâmetros
[in] aAppState
Ponteiro de estado do aplicativo definido durante a inicialização do SubscriptionClient .
[in] aEvent
Indica qual evento está acontecendo
[in] aInParam
Struct com detalhes adicionais sobre o evento
[out] aOutParam
Informações repassadas pelo aplicativo

EventID

 EventID
Propriedades
kEvent_OnEventStreamReceived

Gerado quando o SubscriptionEngine encontra um fluxo de eventos na mensagem NotificationRequest.

O aplicativo pode chamar EndSubscription () , AbortSubscription () ou Free () neste ponto.

kEvent_OnExchangeStart

Gerado depois que a ligação foi preparada e ExchangeContext foi configurado, mas antes de qualquer mensagem ser enviada.

Esta é a última chance de um aplicativo ajustar as configurações do ExchangeContext , o mEC é válido e pode ser ajustado para configurações de tempo limite. O aplicativo não deve tocar em outros campos do cliente e não deve fechar o ExchangeContext .

kEvent_OnNoMorePendingUpdates

Um evento denotando que todos os caminhos no conjunto de atualização foram processados ​​pelo par e nenhum outro caminho precisa ser atualizado.

kEvent_OnNotificationProcessed

Gerado quando o SubscriptionEngine termina de processar uma mensagem NotificationRequest.

O aplicativo pode chamar EndSubscription () , AbortSubscription () ou Free () neste ponto.

kEvent_OnNotificationRequest

Gerado em um recebimento de um NotificationRequest.

O aplicativo pode chamar EndSubscription () , AbortSubscription () ou Free () neste ponto.

kEvent_OnSubscribeRequestPrepareNeeded

Enviado quando o mecanismo está pronto para enviar o SubscribeRequest.

O aplicativo deve preencher os caminhos que deseja assinar.

kEvent_OnSubscriptionActivity

Um evento que indica a atividade de assinatura.

É gerado sempre que o cliente recebe uma indicação de atividade de assinatura; isso inclui o estabelecimento de assinatura bem-sucedido, o recebimento de um NotificationRequest ou o recebimento de um relatório de status em resposta à mensagem SubscribeConfirm.

kEvent_OnSubscriptionEstablished

Gerado após o estabelecimento bem-sucedido da assinatura.

O aplicativo pode chamar EndSubscription () , AbortSubscription () ou Free () neste ponto.

kEvent_OnSubscriptionTerminated

Marca o fim desta assinatura.

Os parâmetros enviados para nl :: Weave :: Profiles :: DataManagement_Current :: SubscriptionClient :: EventCallback indicarão se uma nova assinatura será tentada automaticamente.

Durante a chamada do manipulador de eventos, o estado do cliente será Terminated . Se nenhuma nova tentativa for tentada, o estado do cliente fará a transição para Initialized quando o manipulador de eventos retornar. Caso contrário, o estado mudará para ResubscribeHoldoff e será feita uma tentativa de restabelecer a assinatura após o tempo de espera.

O aplicativo pode chamar AbortSubscription () ou Free () neste estado.

Os parâmetros enviados também incluirão um código de erro indicando o motivo do encerramento da assinatura.

A assinatura pode ter sido encerrada por vários motivos (WRM ACK ausente, falha de alocação do ExchangeContext , tempo limite de resposta, ...) Alguns códigos de erro possíveis gerados pelo cliente:

Erro de código Significado
WEAVE_ERROR_INVALID_MESSAGE_TYPE Uma mensagem não reconhecida é recebida.
WEAVE_ERROR_TIMEOUT Uma confirmação não é recebida ou uma verificação de atividade falha.
WEAVE_ERROR_INCORRECT_STATE As mensagens são recebidas em um estado inesperado.
WEAVE_ERROR_STATUS_REPORT_RECEIVED Um relatório de status é recebido.
WEAVE_ERROR_INVALID_ARGUMENT Os campos de solicitação de inscrição são inválidos.

kEvent_OnUpdateComplete

Um evento que denota a conclusão da atualização.

Os parâmetros do evento indicarão se a atualização de um caminho de característica específico foi bem-sucedida ou falhou.

ResubscribePolicyCallback

void(* ResubscribePolicyCallback)(void *const aAppState, ResubscribeParam &aInParam, uint32_t &aOutIntervalMsec)

Retorno de chamada para buscar o intervalo de tempo de espera antes da próxima nova assinatura.

Os aplicativos podem ser cancelados / liberados nesta função se tiverem decidido desistir de se inscrever novamente.

Detalhes
Parâmetros
[in] aAppState
Ponteiro de estado do aplicativo definido durante a inicialização do SubscriptionClient .
[in] aInParam
Struct com detalhes adicionais sobre a nova tentativa
[out] aOutIntervalMsec
Tempo em milissegundos de espera antes da próxima tentativa

Funções estáticas públicas

DefaultEventHandler

void DefaultEventHandler(
  EventID aEvent,
  const InEventParam & aInParam,
  OutEventParam & aOutParam
)

DefaultResubscribePolicyCallback

void DefaultResubscribePolicyCallback(
  void *const aAppState,
  ResubscribeParam & aInParam,
  uint32_t & aOutIntervalMsec
)

A implementação da política padrão escolherá um timeslot aleatório com resolução de milissegundos em uma janela sempre crescente, seguindo uma sequência de fibonacci até WDM_RESUBSCRIBE_MAX_FIBONACCI_STEP_INDEX.

A média do tempo de espera aleatório após WDM_RESUBSCRIBE_MAX_FIBONACCI_STEP_INDEX será de cerca de uma hora. Quando a contagem de novas tentativas é redefinida para 0, a sequência começa do início novamente.

Funções públicas

AbortSubscription

void AbortSubscription(
  void
)

Aborte a assinatura.

Abortar uma assinatura do cliente.

Pare imediatamente de aceitar todo o tráfego associado à assinatura e libere todos os recursos de comunicação subjacentes. O próprio objeto SubscriptionClient permanece válido e pode ser usado novamente.

Encerra o final do cliente de uma assinatura, sem notificar o editor da assinatura e sem entregar um evento OnSubscriptionTerminated ao manipulador de eventos do aplicativo. Se houver uma assinatura mútua, a assinatura contrária também será encerrada.

Ao chamar AbortSubscription () , o objeto SubscriptionClient entra no estado Terminated . Assim que o processo de encerramento for concluído, o objeto entra no estado Initialized . Ambas as transições acontecem de forma síncrona na chamada para AbortSubscription () .

Após o retorno de AbortSubscription () , o objeto SubscriptionClient pode ser usado para iniciar outra assinatura ou pode ser liberado chamando o método Free () .

ClearUpdated

WEAVE_ERROR ClearUpdated(
  TraitUpdatableDataSink *aDataSink,
  PropertyPathHandle aPropertyHandle
)

DisableResubscribe

void DisableResubscribe(
  void
)

Desative o mecanismo de nova inscrição.

Isso será cancelado se uma nova inscrição estiver pendente.

DiscardUpdates

void DiscardUpdates()

Diz ao SubscriptionClient para esvaziar o conjunto de TraitPaths pendentes para atualização e abortar a solicitação de atualização que está em andamento, se houver.

Este método pode ser invocado a partir de qualquer retorno de chamada.

EnableResubscribe

void EnableResubscribe(
  ResubscribePolicyCallback aCallback
)

Habilite resubscribes automáticos.

Anexe um retorno de chamada para especificar o próximo tempo de tentativa em caso de falha.

Detalhes
Parâmetros
[in] aCallback
Retorno de chamada opcional para buscar a quantidade de tempo de espera antes de tentar novamente após uma falha. Se for NULL, use uma política padrão.

EndSubscription

WEAVE_ERROR EndSubscription(
  void
)

Encerre a assinatura.

Encerrar uma assinatura de cliente com elegância.

Quando a opção de tempo de compilação WDM_ENABLE_SUBSCRIPTION_CANCEL estiver habilitada, termine normalmente a assinatura enviando um CancelRequest ao par. Os recursos associados à assinatura são liberados na resposta do par ou no tempo limite. Quando a opção está desabilitada, a chamada é equivalente a AbortSubscription () .

Encerra normalmente o final do cliente de uma assinatura. Se o suporte para cancelamento de assinatura estiver habilitado, uma mensagem SubscribeCancelRequest será enviada ao editor da assinatura e o sistema aguardará uma resposta antes de encerrar a assinatura; caso contrário, a assinatura será encerrada imediatamente de maneira semelhante a AbortSubscription () . Se houver uma assinatura mútua, a assinatura contrária também será encerrada.

Enquanto aguarda uma resposta a um SubscribeCancelRequest, o SubscriptionClient entra no estado Canceling .

Assim que o processo de rescisão começa, o objeto SubscriptionClient entra no estado Terminated e um evento OnSubscriptionTerminated é entregue ao manipulador de eventos do aplicativo. Observe que, se o suporte para cancelamento não estiver habilitado, o manipulador de eventos pode ser chamado de forma síncrona na chamada para EndSubscription () .

Depois que o manipulador de eventos do aplicativo retorna, o objeto SubscriptionClient entra no estado Initialized . Nesse ponto, o objeto SubscriptionClient pode ser usado para iniciar outra assinatura ou pode ser liberado chamando o método Free () .

FlushUpdate

WEAVE_ERROR FlushUpdate()

Sinaliza que o aplicativo concluiu a mutação de todos os TraitUpdatableDataSinks.

A menos que uma troca de atualização anterior esteja em andamento, o cliente pegará todos os dados marcados como atualizados e os enviará ao respondente em uma solicitação de atualização. Este método pode ser chamado de qualquer thread.

Detalhes
Parâmetros
[in] aForce
Se verdadeiro, faz com que a atualização seja enviada imediatamente, mesmo que uma nova tentativa tenha sido agendada no futuro. Este parâmetro é considerado falso por padrão.
Devoluções
WEAVE_NO_ERROR em caso de sucesso; outros códigos WEAVE_ERROR em caso de falha.

FlushUpdate

WEAVE_ERROR FlushUpdate(
  bool aForce
)

Livre

void Free(
  void
)

Liberte este objeto SubscriptionClient .

Liberte um objeto SubscriptionClient .

Chama AbortSubscription () se necessário e libera o refcount neste objeto SubscriptionClient . Sob o uso correto, isso deve permitir que o objeto seja retornado ao pool de objetos

Libera o objeto SubscriptionClient . Se uma assinatura estiver ativa ou em andamento, ela será encerrada imediatamente de maneira semelhante à chamada de AbortSubscription () . Se alguma solicitação de atualização estiver em andamento, ela será abortada da mesma forma.

O aplicativo é responsável por chamar Free () exatamente uma vez durante o tempo de vida de um objeto SubscriptionClient . Depois que Free () é chamado, nenhuma outra referência deve ser feita ao objeto.

GetBinding

Binding * GetBinding(
  void
) const 

GetLivenessTimeoutMsec

uint32_t GetLivenessTimeoutMsec(
  void
) const 

GetPeerNodeId

uint64_t GetPeerNodeId(
  void
) const 

GetSubscriptionId

WEAVE_ERROR GetSubscriptionId(
  uint64_t *const apSubscriptionId
)

IndicateActivity

void IndicateActivity(
  void
)

InitiateCounterSubscription

void InitiateCounterSubscription(
  const uint32_t aLivenessTimeoutSec
)

InitiateSubscription

void InitiateSubscription(
  void
)

Configure o SubscriptionClient como um iniciador (em oposição a um contra-assinante) e aumente a assinatura se não for.

IsCanceling

bool IsCanceling() const 

IsEstablished

bool IsEstablished()

IsEstablishedIdle

bool IsEstablishedIdle()

É grátis

bool IsFree()

IsInProgressOrEstablished

bool IsInProgressOrEstablished()

IsInResubscribeHoldoff

bool IsInResubscribeHoldoff()

IsRetryEnabled

bool IsRetryEnabled()

Está terminado

bool IsTerminated()

IsUpdatePendingOrInProgress

bool IsUpdatePendingOrInProgress()

LockUpdateMutex

void LockUpdateMutex(
  void
)

OnCatalogChanged

void OnCatalogChanged()

Este método deve ser chamado quando o catálogo TraitDataSink for modificado.

ResetResubscribe

void ResetResubscribe(
  void
)

Expulse o mecanismo de resubscribe.

Isso iniciará uma nova tentativa imediata

SetLivenessTimeoutMsec

void SetLivenessTimeoutMsec(
  uint32_t val
)

SetUpdated

WEAVE_ERROR SetUpdated(
  TraitUpdatableDataSink *aDataSink,
  PropertyPathHandle aPropertyHandle,
  bool aIsConditional
)

SuspendUpdateRetries

void SuspendUpdateRetries()

Diz ao SubscriptionClient para parar de repetir as solicitações de atualização.

Permite que o aplicativo suspenda as atualizações por um período de tempo sem descartar todos os metadados. As atualizações e novas tentativas serão retomadas quando FlushUpdate for chamado. Quando chamado para suspender atualizações enquanto uma atualização está em andamento, a atualização não é cancelada, mas caso falhe, não será tentada novamente até que FlushUpdate seja chamado novamente.

UnlockUpdateMutex

void UnlockUpdateMutex(
  void
)