Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.

dòng chảy :: phục vụ :: LoaderHarness

#include <loader_harness.h>

LoaderHarness là một widget quản lý sử dụng để giữ trên đến và nói chuyện với một Loader trong khi nó sở hữu nó.

Bản tóm tắt

Nó theo dõi tình trạng tổng thể của một thể phân phát như vậy mà quản lý có thể xác định trạng thái chuyển tiếp để làm vào những gì lần.

Việc triển khai trình quản lý cũng có thể thêm một số trạng thái bổ sung với mỗi bộ khai thác. Ví dụ: một người quản lý có thể đặt ACL hoặc siêu dữ liệu vòng đời ở đây. Quyền sở hữu được duy trì bởi dây nịt.

Lớp này an toàn theo luồng.

Người xây dựng và Người phá hủy

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 để tạo một bộ khai thác có trạng thái bổ sung, mà người quản lý cần.
~LoaderHarness ()
Hợp pháp để hủy iff trạng thái hiện tại là một trong kNew, kDisabled hoặc kError.

Các loại công khai

State {
kNew ,
kLoadRequested ,
kLoadApproved ,
kLoading ,
kReady ,
kUnloadRequested ,
kQuiescing ,
kQuiesced ,
kUnloading ,
kDisabled ,
kError
}
enum
Nhà nước của thể phân phát cơ bản, từ quan điểm của các LoaderHarness và với mục đích giao tiếp giữa nó và một quản lý .

Chức năng công cộng

DoneQuiescing ()
Status
Chuyển trạng thái thành kQuiesced, có nghĩa là không còn xử lý trực tiếp nào nữa cho khả năng phục vụ này trong giao diện người dùng.
Error (const Status & status)
void
Chuyển trạng thái thành kError và gọi 'options_.error_callback'.
Load ()
Status
Chuyển tiếp để kLoading, các đại biểu để thể phân phát :: Load (), sau đó chuyển tiếp hoặc để kReady nếu Load () thành công, hoặc để kError (và options_ gọi'.
LoadApproved ()
Status
Chuyển đổi sang kLoadApproved.
LoadRequested ()
Status
Chuyển trạng thái của khai thác thành kLoadRequested iff trạng thái hiện tại của nó là kNew.
StartQuiescing ()
Status
Chuyển trạng thái thành kQuiescing, có nghĩa là chúng tôi không muốn cung cấp thêm bất kỳ xử lý nào cho dịch vụ này.
Unload ()
Status
Chuyển tiếp để kUnloading, các đại biểu để thể phân phát :: Unload (), sau đó chuyển tiếp đến kDisabled khi Unload () được thực hiện.
UnloadRequested ()
Status
Chuyển trạng thái của bộ khai thác thành kUnloadRequested iff trạng thái hiện tại của nó là kReady.
additional_state ()
T *
Có được trạng thái bổ sung.
cancel_load_retry ()
bool
id () const
ServableId
Trả về mã định danh của Có thể phục vụ bên dưới.
loader () const
Trả về một con trỏ cho bộ tải được bao bọc.
loader_state_snapshot ()
ServableStateSnapshot< T >
Trả về ảnh chụp nhanh trạng thái tổng thể hiện tại của Có thể phục vụ bên dưới.
loader_state_snapshot () const
ServableStateSnapshot< std::nullptr_t >
set_cancel_load_retry (bool value)
void
Hủy thử lại tải của dịch vụ.
state ()
Trả về trạng thái hiện tại của Có thể phục vụ bên dưới.
status ()
Status
Cho dù bất cứ điều gì đã xảy ra với dịch vụ này.

Các chức năng tĩnh công khai

StateDebugString ( State state)
string

Cấu trúc

tensorflow :: phục vụ :: LoaderHarness :: Tùy chọn

Tùy chọn để cấu hình một LoaderHarness .

Các loại công khai

Trạng thái

 State

Nhà nước của thể phân phát cơ bản, từ quan điểm của các LoaderHarness và với mục đích giao tiếp giữa nó và một quản lý .

Không tương đương với các trạng thái có thể phục vụ theo ngữ nghĩa trong servable_state.h.

Các chuyển đổi hợp lệ: kNew> kLoading> kReady> kQuiescing> kQuiesced> kUnloading> kDisabled cũng như: any_state> kError.

Tính chất
kDisabled

'nạp _-> Unload () ' đã kết thúc.

kError

Đã xảy ra lỗi, hoặc trong quá trình 'nạp _-> Load () ' hoặc bên ngoài khai thác (và đã được báo cáo đến khai thác thông qua một cuộc gọi đến Lỗi () ).

kLoadApproved

Dịch vụ đã được phê duyệt để tải, ví dụ:

nguồn lực đã được dành riêng cho nó.

kLoadRequested

Người quản lý đã được yêu cầu tải dịch vụ này.

kLoading

'nạp _-> Load () ' đã được gọi.

kNew

Trạng thái ban đầu.

kQuiesced

Dịch vụ đã được làm cho không có sẵn để phục vụ.

kQuiescing

Dịch vụ sẽ không có sẵn để phục vụ.

kReady

'nạp _-> Load () ' đã thành công.

kUnloadRequested

Người quản lý đã được yêu cầu dỡ bỏ dịch vụ này.

kUnloading

'nạp _-> Unload () ' đã được gọi.

Chức năng công cộng

DoneQuiescing

Status DoneQuiescing()

Chuyển trạng thái thành kQuiesced, có nghĩa là không còn xử lý trực tiếp nào nữa cho khả năng phục vụ này trong giao diện người dùng.

Tại thời điểm này, chúng ta có thể dỡ bỏ đối tượng này.

YÊU CẦU: Trạng thái là kQuiescing khi được gọi. Nếu không, DCHECK-fail, chuyển sang trạng thái kError và gọi 'options_.error_callback'.

Lỗi

void Error(
  const Status & status
)

Chuyển trạng thái thành kError và gọi 'options_.error_callback'.

Trọng tải

Status Load()

Chuyển tiếp để kLoading, các đại biểu để thể phân phát :: Load (), sau đó chuyển tiếp hoặc để kReady nếu Load () thành công, hoặc để kError (và options_ gọi'.

error_callback ') nếu Load () thất bại. Cuộc gọi này có thể mất nhiều thời gian.

Chúng tôi thử lại Servable :: Load () theo các tùy chọn được đặt trong quá trình xây dựng lớp này. Chúng tôi ngừng thử lại và từ bỏ nếu 1. chúng tôi đã đạt đến max_num_load_retries hoặc, 2. nếu hủy_load () được đặt thành true.

YÊU CẦU: Trạng thái là kLoadApproved khi được gọi. Nếu không, DCHECK-fail, chuyển sang trạng thái kError và gọi 'options_.error_callback'.

LoadApproved

Status LoadApproved()

Chuyển đổi sang kLoadApproved.

YÊU CẦU: Trạng thái là kLoadRequested khi được gọi. Nếu không, DCHECK-fail, chuyển sang trạng thái kError và gọi 'options_.error_callback'.

LoadRequested

Status LoadRequested()

Chuyển trạng thái của khai thác thành kLoadRequested iff trạng thái hiện tại của nó là kNew.

Các thử nghiệm và thay đổi được thực hiện transactionally, vì vậy phương pháp này có thể được sử dụng để đảm bảo rằng nhiều nhất là một Load () yêu cầu có thể tiến hành.

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
)

Constructor để tạo một bộ khai thác có trạng thái bổ sung, mà người quản lý cần.

StartQuiescing

Status StartQuiescing()

Chuyển trạng thái thành kQuiescing, có nghĩa là chúng tôi không muốn cung cấp thêm bất kỳ xử lý nào cho dịch vụ này.

YÊU CẦU: Trạng thái là kUnloadRequested khi được gọi. Nếu không, DCHECK-fail, chuyển sang trạng thái kError và gọi 'options_.error_callback'.

Dỡ hàng

Status Unload()

Chuyển tiếp để kUnloading, các đại biểu để thể phân phát :: Unload (), sau đó chuyển tiếp đến kDisabled khi Unload () được thực hiện.

YÊU CẦU: Trạng thái là kQuiesced khi được gọi. Nếu không, DCHECK-fail, chuyển sang trạng thái kError và gọi 'options_.error_callback'.

UnloadRequested

Status UnloadRequested()

Chuyển trạng thái của bộ khai thác thành kUnloadRequested iff trạng thái hiện tại của nó là kReady.

Các thử nghiệm và thay đổi được thực hiện transactionally, vì vậy phương pháp này có thể được sử dụng để đảm bảo rằng nhiều nhất là một Load () yêu cầu có thể tiến hành.

bổ sung_state

T * additional_state()

Có được trạng thái bổ sung.

Trả về nullptr nếu kiểu không khớp hoặc nếu kiểu đó không được đặt.

cel_load_retry

bool cancel_load_retry()

Tôi

ServableId id() const 

Trả về mã định danh của Có thể phục vụ bên dưới.

người nạp

Loader * loader() const 

Trả về một con trỏ cho bộ tải được bao bọc.

Quyền sở hữu vẫn thuộc về lớp này.

loader_state_snapshot

ServableStateSnapshot< T > loader_state_snapshot()

Trả về ảnh chụp nhanh trạng thái tổng thể hiện tại của Có thể phục vụ bên dưới.

loader_state_snapshot

ServableStateSnapshot< std::nullptr_t > loader_state_snapshot() const 

set_cancel_load_retry

void set_cancel_load_retry(
  bool value
)

Hủy thử lại tải của dịch vụ.

Đây là nỗ lực tốt nhất, và không Ðể tránh một Load () mà đã xảy ra, thực hiện cuộc gọi tiếp theo.

Nếu lần thử lại bị huỷ bỏ, các thể phân phát đi vào trạng thái phụ thuộc vào người cuối cùng Load () được gọi vào nó. Nếu cuối cùng Load () đã thành công, nó sẽ được ở trạng thái kReady, khác trong kError.

trạng thái

State state()

Trả về trạng thái hiện tại của Có thể phục vụ bên dưới.

trạng thái

Status status()

Cho dù bất cứ điều gì đã xảy ra với dịch vụ này.

Nếu trạng thái là kError, điều này sẽ không OK. Nếu không OK, lỗi có thể là một cái gì đó đã xảy ra trong một Nguồn hoặc SourceAdapter , trong Loader , trong quản lý , hoặc ở nơi khác. Tất cả các lỗi liên quan đến dịch vụ được báo cáo ở đây, bất kể nguồn gốc.

~ LoaderHarness

 ~LoaderHarness()

Hợp pháp để hủy iff trạng thái hiện tại là một trong kNew, kDisabled hoặc kError.

Kiểm tra không thành công nếu vi phạm.

Các chức năng tĩnh công khai

StateDebugString

string StateDebugString(
  State state
)