przepływ tensorowy:: porcja:: Obsługiwany uchwyt

#include <servable_handle.h>

Inteligentny wskaźnik do leżącej servable obiektu T pobierane z Loader .

Streszczenie

Kod frontendu pobiera te uchwyty z ServableManager. Uchwyt utrzymuje przy życiu obiekt znajdujący się pod spodem, dopóki uchwyt jest aktywny. Frontend nie powinien go trzymać przez długi czas, ponieważ trzymanie go może opóźnić przeładowanie serwera.

T zwrócony z uchwytu jest ogólnie współdzielony przez wiele żądań, co oznacza, że ​​wszelkie zmiany mutacji wprowadzone w T muszą zachować poprawność względem logiki aplikacji. Ponadto w obecności wielu wątków żądań należy zapewnić bezpieczne wątkowo użycie T.

T ma być typem wartości i jest wewnętrznie przechowywany jako wskaźnik. Użycie typu wskaźnika dla T zakończy się niepowodzeniem, ponieważ w większości sytuacji byłoby to błędem.

Przykładowe zastosowanie:

// Define or use an existing servable:
class MyServable {
public:
  void MyMethod();
};

// Get your handle from a manager.
ServableHandle handle;
TF_RETURN_IF_ERROR(manager->GetServableHandle(id, &handle));

// Use your handle as a smart-pointer:
handle->MyMethod();