텐서플로:: 피복재:: 로더하네스

#include <loader_harness.h>

LoaderHarness는 위젯 인 관리자 A를과 대화를 유지하기 위해 사용하는 로더 그것을 소유하고있다.

요약

그것은하는 게재 할 수 없음 등의 전반적인 상태를 추적 관리자가 어떤 시간에하게되는 상태 전환을 결정 할 수 있습니다.

관리자 구현은 또한 각 하네스와 함께 몇 가지 추가 상태를 추가할 수 있습니다. 예를 들어 관리자는 여기에 ACL 또는 수명 주기 메타데이터를 넣을 수 있습니다. 소유권은 하네스가 유지합니다.

이 클래스는 스레드로부터 안전합니다.

생성자와 소멸자

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)
관리자가 필요로 하는 추가 상태로 하네스를 생성하기 위한 생성자.
~LoaderHarness ()
현재 상태가 kNew, kDisabled 또는 kError 중 하나인 경우 파괴할 수 있습니다.

공개 유형

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
열거
기본 게재 가능한 상태,의 관점에서 LoaderHarness 과와 사이의 통신을 목적으로 관리자 .

공공 기능

DoneQuiescing ()
Status
상태를 kQuiesced로 전환합니다. 즉, 프런트엔드에서 사용할 수 있는 이 서빙 가능 항목에 대한 라이브 핸들이 더 이상 없습니다.
Error (const Status & status)
void
상태를 kError로 전환하고 'options_.error_callback'을 호출합니다.
Load ()
Status
kLoading로 전환, 게재 할 수 없음에 대표 :로드 (), 다음 전환 중 kReady에 경우 로드 () 성공, 또는 kError에 (그리고 원용하는 'options_.
LoadApproved ()
Status
kLoadApproved로 전환합니다.
LoadRequested ()
Status
현재 상태가 kNew인 경우 하네스의 상태를 kLoadRequested로 전환합니다.
StartQuiescing ()
Status
상태를 kQuiescing으로 전환합니다. 즉, 이 servable에 더 이상 핸들을 제공하지 않으려는 것입니다.
Unload ()
Status
kUnloading에 전환은 게재 할 수 없음 :: 언로드 (대의원), kDisabled에 다음 전환이 때 언로드 ()가 수행된다.
UnloadRequested ()
Status
현재 상태가 kReady인 경우 하네스 상태를 kUnloadRequested로 전환합니다.
additional_state ()
T *
추가 상태를 가져옵니다.
cancel_load_retry ()
bool
id () const
ServableId
기본 Servable의 식별자를 반환합니다.
loader () const
래핑된 로더에 대한 포인터를 반환합니다.
loader_state_snapshot ()
ServableStateSnapshot< T >
기본 Servable의 현재 전체 상태 스냅샷을 반환합니다.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
제공 가능한 로드 재시도를 취소합니다.
state ()
기본 Servable의 현재 상태를 반환합니다.
status ()
Status
이 서빙 가능 항목에 문제가 있는지 여부입니다.

공개 정적 함수

StateDebugString ( State state)
string

구조체

tensorflow :: 제공 :: LoaderHarness :: 옵션

옵션 에 구성 할 LoaderHarness을 .

공개 유형

상태

 State

기본 게재 가능한 상태,의 관점에서 LoaderHarness 과와 사이의 통신을 목적으로 관리자 .

servable_state.h의 의미론적 제공 가능 상태와 동일하지 않습니다.

유효한 전환: kNew>kLoading>kReady>kQuiescing>kQuiesced>kUnloading>kDisabled 및 any_state>kError.

속성
kDisabled

'로더 _->는 언로드 () '완료되었습니다.

kError

오류 역시 '로더 _-> 중에 발생한 하중 () 하네스'또는 외부 (및 호출 통해 하니스보고 에러 () ).

kLoadApproved

게재 가능 항목이 로드 승인되었습니다. 예:

이를 위해 자원을 확보했습니다.

kLoadRequested

관리자가 이 서빙 가능 항목을 로드하도록 요청했습니다.

kLoading

'로더 _-> 로드는 () '라고하고있다.

kNew

초기 상태.

kQuiesced

제공 가능한 항목을 제공할 수 없습니다.

kQuiescing

제공 가능한 항목을 제공할 수 없게 됩니다.

kReady

'로더 _-> 로드 () '성공했다.

kUnloadRequested

관리자가 이 서빙 가능 항목을 언로드하도록 요청했습니다.

kUnloading

'로더 _-> 언로드 () '라고하고있다.

공공 기능

완료정지

Status DoneQuiescing()

상태를 kQuiesced로 전환합니다. 즉, 프런트엔드에서 사용할 수 있는 이 서빙 가능 항목에 대한 라이브 핸들이 더 이상 없습니다.

이 시점에서 이 객체를 언로드할 수 있습니다.

REQUIRES: 상태는 호출될 때 kQuiescing입니다. 그렇지 않으면 DCHECK가 실패하고 kError 상태로 전환되고 'options_.error_callback'을 호출합니다.

오류

void Error(
  const Status & status
)

상태를 kError로 전환하고 'options_.error_callback'을 호출합니다.

Status Load()

kLoading로 전환, 게재 할 수 없음에 대표 :로드 (), 다음 전환 중 kReady에 경우 로드 () 성공, 또는 kError에 (그리고 원용하는 'options_.

error_callback ') 경우 로드 ()가 실패합니다. 이 통화는 시간이 오래 걸릴 수 있습니다.

이 클래스를 구성하는 동안 설정한 옵션에 따라 Servable::Load()를 다시 시도합니다. 1. max_num_load_retries에 도달했거나 2. cancel_load()가 true로 설정된 경우 재시도를 중지하고 포기합니다.

필요: 호출 시 상태는 kLoadApproved입니다. 그렇지 않으면 DCHECK가 실패하고 kError 상태로 전환되고 'options_.error_callback'을 호출합니다.

로드 승인됨

Status LoadApproved()

kLoadApproved로 전환합니다.

REQUIRES: 상태는 호출될 때 kLoadRequested입니다. 그렇지 않으면 DCHECK가 실패하고 kError 상태로 전환되고 'options_.error_callback'을 호출합니다.

로드 요청됨

Status LoadRequested()

현재 상태가 kNew인 경우 하네스의 상태를 kLoadRequested로 전환합니다.

이 방법은 대부분 하나의 확인하는 데 사용될 수 있도록 테스트 및 변경은 트랜잭션 완료 로드 () 요청을 수행 할 수있다.

로더하네스

 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
)

관리자가 필요로 하는 추가 상태로 하네스를 생성하기 위한 생성자.

시작중지

Status StartQuiescing()

상태를 kQuiescing으로 전환합니다. 즉, 이 servable에 더 이상 핸들을 제공하지 않으려는 것입니다.

REQUIRES: 상태는 호출될 때 kUnloadRequested입니다. 그렇지 않으면 DCHECK가 실패하고 kError 상태로 전환되고 'options_.error_callback'을 호출합니다.

부리다

Status Unload()

kUnloading에 전환은 게재 할 수 없음 :: 언로드 (대의원), kDisabled에 다음 전환이 때 언로드 ()가 수행된다.

REQUIRES: 상태는 호출될 때 kQuiesced입니다. 그렇지 않으면 DCHECK가 실패하고 kError 상태로 전환되고 'options_.error_callback'을 호출합니다.

UnloadRequested

Status UnloadRequested()

현재 상태가 kReady인 경우 하네스 상태를 kUnloadRequested로 전환합니다.

이 방법은 대부분 하나의 확인하는 데 사용될 수 있도록 테스트 및 변경은 트랜잭션 완료 로드 () 요청을 수행 할 수있다.

추가 상태

T * additional_state()

추가 상태를 가져옵니다.

유형이 일치하지 않거나 설정되지 않은 경우 nullptr을 반환합니다.

취소_로드_재시도

bool cancel_load_retry()

ID

ServableId id() const 

기본 Servable의 식별자를 반환합니다.

짐을 싣는 사람

Loader * loader() const 

래핑된 로더에 대한 포인터를 반환합니다.

소유권은 이 클래스에 남아 있습니다.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

기본 Servable의 현재 전체 상태 스냅샷을 반환합니다.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

제공 가능한 로드 재시도를 취소합니다.

이것은 최선의 노력이며, 선점하지 않습니다 로드 () 이미 만 후속 호출을 일어나고있다.

재 시도가 취소하는 경우, 게재 가능한 마지막에 의존하는 상태로 전환 로드 () 가 불려. 마지막 경우 로드 () 성공, 그것은 다른 kError에서, 상태 kReady에있을 것입니다.

상태

State state()

기본 Servable의 현재 상태를 반환합니다.

상태

Status status()

이 서빙 가능 항목에 문제가 있는지 여부입니다.

상태가 kError이면 비정상입니다. 확인되지 않은 경우, 오류가 발생한 것일 수 있습니다 소스 또는 SourceAdapter 에서, 로더 에서, 관리자 곳, 또는. 출처에 관계없이 서빙 가능 항목과 관련된 모든 오류가 여기에 보고됩니다.

~로더하네스

 ~LoaderHarness()

현재 상태가 kNew, kDisabled 또는 kError 중 하나인 경우 파괴할 수 있습니다.

위반 시 확인이 실패합니다.

공개 정적 함수

상태 디버그 문자열

string StateDebugString(
  State state
)