tensorflow :: servicio:: CargadorArnés

#include <loader_harness.h>

LoaderHarness es un widget de los Administrador de usos de aferrarse a y hablar con un cargador , mientras que lo posee.

Resumen

Realiza un seguimiento de la situación general de un servable tal que el Administrador puede determinar qué transiciones de un estado a hacer en qué momento.

Una implementación de administrador también puede agregar algún estado adicional con cada arnés. Por ejemplo, un administrador podría colocar metadatos de ciclo de vida o ACL aquí. La propiedad es mantenida por el arnés.

Esta clase es segura para subprocesos.

Constructores y Destructores

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)
Constructor para crear un arnés con estado adicional, que necesita un administrador.
~LoaderHarness ()
Legal para destruir si el estado actual es uno de kNew, kDisabled o kError.

Tipos públicos

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
enumeración
Estado de la servable subyacente, desde la perspectiva de la LoaderHarness y para el propósito de la comunicación entre él y un Gestor .

Funciones publicas

DoneQuiescing ()
Status
Cambia el estado a kQuiesced, lo que significa que no hay más identificadores en vivo para este servidor disponibles en la interfaz.
Error (const Status & status)
void
Cambia el estado a kError e invoca 'options_.error_callback'.
Load ()
Status
Las transiciones a kLoading, delega en servable :: Load (), entonces las transiciones ya sea a kReady si Load () tiene éxito, o para kError (y options_ invoca'.
LoadApproved ()
Status
Transiciones a kLoadApproved.
LoadRequested ()
Status
Cambia el estado del arnés a kLoadRequested si su estado actual es kNew.
StartQuiescing ()
Status
Cambia el estado a kQuiescing, lo que significa que no nos gustaría dar más identificadores a este servicio.
Unload ()
Status
Las transiciones a kUnloading, los delegados a servable :: Unload (), entonces las transiciones a la kDisabled cuando Unload () se hace.
UnloadRequested ()
Status
Cambia el estado del arnés a kUnloadRequested si su estado actual es kReady.
additional_state ()
T *
Obtiene el estado adicional.
cancel_load_retry ()
bool
id () const
ServableId
Devuelve el identificador del Servidor subyacente.
loader () const
Devuelve un puntero al cargador envuelto.
loader_state_snapshot ()
ServableStateSnapshot< T >
Devuelve la instantánea del estado general actual del Servidor subyacente.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Cancela el reintento de carga del servidor.
state ()
Devuelve el estado actual del Servidor subyacente.
status ()
Status
Si algo salió mal con este servidor.

Funciones estáticas públicas

StateDebugString ( State state)
string

Estructuras

tensorflow :: :: servir LoaderHarness :: Opciones

Opciones para configurar un LoaderHarness .

Tipos públicos

Expresar

 State

Estado de la servable subyacente, desde la perspectiva de la LoaderHarness y para el propósito de la comunicación entre él y un Gestor .

No es equivalente a los estados de servicio semánticos en servible_state.h.

Transiciones válidas: kNew>kLoading>kReady>kQuiescing>kQuiesced>kUnloading>kDisabled así como: any_state>kError.

Propiedades
kDisabled

'cargador _-> Unload () ' ha terminado.

kError

Se ha producido un error, ya sea durante 'loader _-> Load () ' o fuera del arnés (y se informó que el arnés a través de una llamada a Error () ).

kLoadApproved

El servidor ha sido aprobado para la carga, por ejemplo

se han destinado recursos para ello.

kLoadRequested

Se ha solicitado al administrador que cargue este servidor.

kLoading

'cargador _-> Load () ' ha sido llamado.

kNew

Estado inicial.

kQuiesced

El servicio se ha hecho no disponible para servir.

kQuiescing

El servidor no estará disponible para servir.

kReady

'cargador _-> Load () ' ha tenido éxito.

kUnloadRequested

Se ha solicitado al administrador que descargue este servidor.

kUnloading

'cargador _-> Unload () ' que se ha llamado.

Funciones publicas

DoneQuiescing

Status DoneQuiescing()

Cambia el estado a kQuiesced, lo que significa que no hay más identificadores en vivo para este servidor disponibles en la interfaz.

En este punto, podemos descargar este objeto.

REQUIERE: El estado está kQuiescing cuando se le llama. De lo contrario, DCHECK falla, pasa al estado kError e invoca 'options_.error_callback'.

Error

void Error(
  const Status & status
)

Cambia el estado a kError e invoca 'options_.error_callback'.

Carga

Status Load()

Las transiciones a kLoading, delega en servable :: Load (), entonces las transiciones ya sea a kReady si Load () tiene éxito, o para kError (y options_ invoca'.

error_callback ') si Load () falla. Esta llamada puede tardar mucho tiempo.

Volvemos a intentar Servible::Load() de acuerdo con las opciones establecidas durante la construcción de esta clase. Dejamos de reintentar y nos damos por vencidos si 1. hemos llegado a max_num_load_retries o, 2. si cancel_load() se establece en verdadero.

REQUIERE: El estado es kLoadApproved cuando se llama. De lo contrario, DCHECK falla, pasa al estado kError e invoca 'options_.error_callback'.

Carga aprobada

Status LoadApproved()

Transiciones a kLoadApproved.

REQUIERE: El estado es kLoadRequested cuando se llama. De lo contrario, DCHECK falla, pasa al estado kError e invoca 'options_.error_callback'.

Carga solicitada

Status LoadRequested()

Cambia el estado del arnés a kLoadRequested si su estado actual es kNew.

La prueba-y-cambio se realiza transaccionalmente, por lo que este método se puede utilizar para asegurar que a lo sumo un Load () solicitud puede proceder.

CargadorArnés

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

CargadorArnés

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

Constructor para crear un arnés con estado adicional, que necesita un administrador.

StartQuiescing

Status StartQuiescing()

Cambia el estado a kQuiescing, lo que significa que no nos gustaría dar más identificadores a este servicio.

REQUIERE: El estado es kUnloadRequested cuando se llama. De lo contrario, DCHECK falla, pasa al estado kError e invoca 'options_.error_callback'.

Descargar

Status Unload()

Las transiciones a kUnloading, los delegados a servable :: Unload (), entonces las transiciones a la kDisabled cuando Unload () se hace.

REQUIERE: El estado se kQuiesced cuando se le llama. De lo contrario, DCHECK falla, pasa al estado kError e invoca 'options_.error_callback'.

DescargarSolicitado

Status UnloadRequested()

Cambia el estado del arnés a kUnloadRequested si su estado actual es kReady.

La prueba-y-cambio se realiza transaccionalmente, por lo que este método se puede utilizar para asegurar que a lo sumo un Load () solicitud puede proceder.

estado_adicional

T * additional_state()

Obtiene el estado adicional.

Devuelve nullptr si el tipo no coincide o si no se configuró.

cancel_load_retry

bool cancel_load_retry()

identificación

ServableId id() const 

Devuelve el identificador del Servidor subyacente.

cargador

Loader * loader() const 

Devuelve un puntero al cargador envuelto.

La propiedad permanece con esta clase.

cargador_estado_instantánea

ServableStateSnapshot< T > loader_state_snapshot()

Devuelve la instantánea del estado general actual del Servidor subyacente.

cargador_estado_instantánea

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_reintentar

void set_cancel_load_retry(
  bool value
)

Cancela el reintento de carga del servidor.

Este es el mejor esfuerzo, y no reemplaza una carga () que ya está sucediendo, sólo llamadas subsiguientes.

Si los reintentos se cancelan, la servable entra en un estado dependiente de la última carga () invocado. Si el último Load () se ha realizado correctamente, será en el estado kReady, más en kError.

Expresar

State state()

Devuelve el estado actual del Servidor subyacente.

estado

Status status()

Si algo salió mal con este servidor.

Si el estado es kError, no será correcto. De lo contrario, el error podría ser algo que ocurrió en una fuente o SourceAdapter , en el cargador , en el Administrador , o en otro lugar. Todos los errores relacionados con el servicio se informan aquí, independientemente de su origen.

~Arnés del cargador

 ~LoaderHarness()

Legal para destruir si el estado actual es uno de kNew, kDisabled o kError.

La verificación falla si se viola.

Funciones estáticas públicas

StateDebugString

string StateDebugString(
  State state
)