tensorflow:: servindo:: LoaderHarness

#include <loader_harness.h>

LoaderHarness é um widget as Gerente usos para segurar e falar com um carregador enquanto ele possui.

Resumo

Ele rastreia o estado geral de um veiculável tal que Gestor pode determinar quais as transições de estado para fazer em que épocas.

Uma implementação de gerente também pode adicionar algum estado adicional a cada chicote. Por exemplo, um gerente pode colocar ACL ou metadados de ciclo de vida aqui. A propriedade é mantida pelo arnês.

Esta classe é segura para thread.

Construtores e Destruidores

LoaderHarness (const ServableId & id, std::unique_ptr< Loader > loader, const Options & options)
LoaderHarness (const ServableId & id, std::unique_ptr< Loader > loader, std::unique_ptr< T > additional_state, const Options & options)
Construtor para criar um chicote com estado adicional, de que um gerente precisa.
~LoaderHarness ()
Legal para destruir se o estado atual for kNew, kDisabled ou kError.

Tipos públicos

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
enum
Estado do que possa ser veiculado subjacente, a partir da perspectiva do LoaderHarness e para efeitos de comunicação entre ele e um gerente .

Funções públicas

DoneQuiescing ()
Status
Faz a transição do estado para kQuiesced, o que significa que não há mais identificadores ativos para este serviço disponíveis no frontend.
Error (const Status & status)
void
Faz a transição do estado para kError e invoca 'options_.error_callback'.
Load ()
Status
Transições para kLoading, delegados para veiculável :: Load (), então transições quer para kReady se load () for bem sucedida, ou para kError (e options_' invoca.
LoadApproved ()
Status
Transições para kLoadApproved.
LoadRequested ()
Status
Faz a transição do estado do chicote para kLoadRequested se seu estado atual for kNew.
StartQuiescing ()
Status
Faz a transição do estado para kQuiescing, o que significa que gostaríamos de não fornecer mais identificadores para este serviço.
Unload ()
Status
Transições para kUnloading, delegados veiculável :: Unload (), então as transições para kDisabled quando Unload () é feito.
UnloadRequested ()
Status
Faz a transição do estado do chicote para kUnloadRequested se seu estado atual for kReady.
additional_state ()
T *
Obtém o estado adicional.
cancel_load_retry ()
bool
id () const
ServableId
Retorna o identificador do Servable subjacente.
loader () const
Retorna um ponteiro para o carregador empacotado.
loader_state_snapshot ()
ServableStateSnapshot< T >
Retorna o instantâneo do estado geral atual do Servable subjacente.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Cancela a nova tentativa de carregar o servable.
state ()
Retorna o estado atual do Servable subjacente.
status ()
Status
Se algo deu errado com este serviço.

Funções estáticas públicas

StateDebugString ( State state)
string

Structs

tensorflow :: servindo :: LoaderHarness :: Opções

Opções para configurar um LoaderHarness .

Tipos públicos

Estado

 State

Estado do que possa ser veiculado subjacente, a partir da perspectiva do LoaderHarness e para efeitos de comunicação entre ele e um gerente .

Não é equivalente aos estados de serviço semântico em servable_state.h.

Transições válidas: kNew> kLoading> kReady> kQuiescing> kQuiesced> kUnloading> kDisabled, bem como: any_state> kError.

Propriedades
kDisabled

'loader _-> Unload () ' foi concluída.

kError

Ocorreu um erro, quer durante 'loader _-> Load () ' ou fora do arnês (e foi relatado para o cinto através de uma chamada para Error () ).

kLoadApproved

O servable foi aprovado para carregamento, por exemplo

recursos foram reservados para isso.

kLoadRequested

O gerenciador foi solicitado a carregar este serviço.

kLoading

'loader _-> Load () ' foi chamado.

kNew

Estado inicial.

kQuiesced

A veiculação ficou indisponível para veiculação.

kQuiescing

O servable ficará indisponível para veiculação.

kReady

'loader _-> Load () ' foi bem sucedido.

kUnloadRequested

O gerente foi solicitado a descarregar este serviço.

kUnloading

'loader _-> Unload () ' foi chamado.

Funções públicas

DoneQuiescing

Status DoneQuiescing()

Faz a transição do estado para kQuiesced, o que significa que não há mais identificadores ativos para este serviço disponíveis no frontend.

Neste ponto, podemos descarregar este objeto.

REQUER: O estado é kQuiescing quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

Erro

void Error(
  const Status & status
)

Faz a transição do estado para kError e invoca 'options_.error_callback'.

Carga

Status Load()

Transições para kLoading, delegados para veiculável :: Load (), então transições quer para kReady se load () for bem sucedida, ou para kError (e options_' invoca.

error_callback ') se Load () falhar. Esta chamada pode demorar muito.

Tentamos novamente Servable :: Load () de acordo com as opções definidas durante a construção desta classe. Paramos de tentar novamente e desistimos se 1. atingirmos max_num_load_retries ou 2. se cancel_load () for definido como verdadeiro.

REQUER: O estado é kLoadApproved quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

LoadApproved

Status LoadApproved()

Transições para kLoadApproved.

REQUER: o estado é kLoadRequested quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

LoadRequested

Status LoadRequested()

Faz a transição do estado do chicote para kLoadRequested se seu estado atual for kNew.

O teste-e-Mudança é feito transactionally, de modo que este método pode ser usado para garantir que no máximo um Load () pedido pode prosseguir.

LoaderHarness

 LoaderHarness(
  const ServableId & id,
  std::unique_ptr< Loader > loader,
  const Options & options
)

LoaderHarness

 LoaderHarness(
  const ServableId & id,
  std::unique_ptr< Loader > loader,
  std::unique_ptr< T > additional_state,
  const Options & options
)

Construtor para criar um chicote com estado adicional, de que um gerente precisa.

StartQuiescing

Status StartQuiescing()

Faz a transição do estado para kQuiescing, o que significa que gostaríamos de não fornecer mais identificadores para este serviço.

REQUER: O estado é kUnloadRequested quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

Descarregar

Status Unload()

Transições para kUnloading, delegados veiculável :: Unload (), então as transições para kDisabled quando Unload () é feito.

REQUER: O estado é kQuiesced quando chamado. Caso contrário, DCHECK falha, faz a transição para o estado kError e invoca 'options_.error_callback'.

UnloadRequested

Status UnloadRequested()

Faz a transição do estado do chicote para kUnloadRequested se seu estado atual for kReady.

O teste-e-Mudança é feito transactionally, de modo que este método pode ser usado para garantir que no máximo um Load () pedido pode prosseguir.

estado_adicional

T * additional_state()

Obtém o estado adicional.

Retorna nullptr se o tipo for incompatível ou se não tiver sido definido.

cancel_load_retry

bool cancel_load_retry()

identificação

ServableId id() const 

Retorna o identificador do Servable subjacente.

carregador

Loader * loader() const 

Retorna um ponteiro para o carregador empacotado.

A propriedade permanece com esta classe.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

Retorna o instantâneo do estado geral atual do Servable subjacente.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

Cancela a nova tentativa de carregar o servable.

Este é melhor esforço, e não antecipar um Load () que já está acontecendo, somente chamadas subsequentes.

Se as tentativas forem cancelados, o que possa ser veiculado vai para um dependente do último estado Load () chamado sobre ele. Se o último Load () foi bem sucedida, será no estado kReady, outra coisa na kError.

Estado

State state()

Retorna o estado atual do Servable subjacente.

status

Status status()

Se algo deu errado com este serviço.

Se o estado for kError, não estará OK. Se não for OK, o erro poderia ser algo que ocorreu em uma Fonte ou SourceAdapter , no carregador , na Gestor , ou em outro lugar. Todos os erros relativos ao serviço são relatados aqui, independentemente da origem.

~ LoaderHarness

 ~LoaderHarness()

Legal para destruir se o estado atual for kNew, kDisabled ou kError.

Falha na verificação se violada.

Funções estáticas públicas

StateDebugString

string StateDebugString(
  State state
)