|
|
|
@ -81,7 +81,7 @@ void WindowsEndpoint::AsyncIOState::DoTcpRead(SliceBuffer* buffer) { |
|
|
|
|
GRPC_EVENT_ENGINE_ENDPOINT_TRACE("WindowsEndpoint::%p reading", endpoint); |
|
|
|
|
if (socket->IsShutdown()) { |
|
|
|
|
socket->read_info()->SetErrorStatus( |
|
|
|
|
absl::UnavailableError("Socket is shutting down.")); |
|
|
|
|
absl::InternalError("Socket is shutting down.")); |
|
|
|
|
thread_pool->Run(&handle_read_event); |
|
|
|
|
return; |
|
|
|
|
} |
|
|
|
@ -131,7 +131,7 @@ bool WindowsEndpoint::Read(absl::AnyInvocable<void(absl::Status)> on_read, |
|
|
|
|
SliceBuffer* buffer, const ReadArgs* /* args */) { |
|
|
|
|
if (io_state_->socket->IsShutdown()) { |
|
|
|
|
io_state_->thread_pool->Run([on_read = std::move(on_read)]() mutable { |
|
|
|
|
on_read(absl::UnavailableError("Socket is shutting down.")); |
|
|
|
|
on_read(absl::InternalError("Socket is shutting down.")); |
|
|
|
|
}); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
@ -154,7 +154,7 @@ bool WindowsEndpoint::Write(absl::AnyInvocable<void(absl::Status)> on_writable, |
|
|
|
|
if (io_state_->socket->IsShutdown()) { |
|
|
|
|
io_state_->thread_pool->Run( |
|
|
|
|
[on_writable = std::move(on_writable)]() mutable { |
|
|
|
|
on_writable(absl::UnavailableError("Socket is shutting down.")); |
|
|
|
|
on_writable(absl::InternalError("Socket is shutting down.")); |
|
|
|
|
}); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
@ -300,7 +300,7 @@ void WindowsEndpoint::HandleReadClosure::Run() { |
|
|
|
|
DumpSliceBuffer(buffer_, absl::StrFormat("WindowsEndpoint::%p READ", |
|
|
|
|
io_state->endpoint)); |
|
|
|
|
} |
|
|
|
|
status = absl::UnavailableError("End of TCP stream"); |
|
|
|
|
status = absl::InternalError("End of TCP stream"); |
|
|
|
|
grpc_core::StatusSetInt(&status, grpc_core::StatusIntProperty::kRpcStatus, |
|
|
|
|
GRPC_STATUS_UNAVAILABLE); |
|
|
|
|
buffer_->Swap(last_read_buffer_); |
|
|
|
|