16 #include "tensorflow_serving/servables/tensorflow/servable.h"
20 #include "absl/functional/any_invocable.h"
21 #include "absl/status/status.h"
22 #include "tensorflow_serving/apis/predict.pb.h"
24 namespace tensorflow {
27 bool Servable::SupportsPaging()
const {
return false; }
29 absl::Status Servable::Suspend() {
30 return absl::UnimplementedError(
"paging not supported");
33 absl::Status Servable::Resume() {
34 return absl::UnimplementedError(
"paging not supported");
37 EmptyServable::EmptyServable()
39 error_(absl::FailedPreconditionError(
"No models loaded")) {}
41 SingleRequestPredictStreamedContext::SingleRequestPredictStreamedContext(
42 absl::AnyInvocable<absl::Status(
const PredictRequest&)> f)
45 absl::Status SingleRequestPredictStreamedContext::ProcessRequest(
46 const PredictRequest& request) {
47 if (one_request_received_) {
48 return absl::UnimplementedError(
49 "PredictStreamed already received one request. Accepting more than "
50 "one request in a stream is not supported yet");
52 one_request_received_ =
true;
56 absl::Status SingleRequestPredictStreamedContext::Close() {
57 if (!one_request_received_) {
58 return absl::FailedPreconditionError(
59 "PredictStreamed requires at least one request");
61 return absl::OkStatus();