텐서플로:: 피복재:: 로더하네스
#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 { | 열거 기본 게재 가능한 상태,의 관점에서 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 * 래핑된 로더에 대한 포인터를 반환합니다. |
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_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 )
상태
Status status()
이 서빙 가능 항목에 문제가 있는지 여부입니다.
상태가 kError이면 비정상입니다. 확인되지 않은 경우, 오류가 발생한 것일 수 있습니다 소스 또는 SourceAdapter 에서, 로더 에서, 관리자 곳, 또는. 출처에 관계없이 서빙 가능 항목과 관련된 모든 오류가 여기에 보고됩니다.
~로더하네스
~LoaderHarness()
현재 상태가 kNew, kDisabled 또는 kError 중 하나인 경우 파괴할 수 있습니다.
위반 시 확인이 실패합니다.
공개 정적 함수
상태 디버그 문자열
string StateDebugString( State state )