aboutsummaryrefslogtreecommitdiff
path: root/planetwars-matchrunner/src
diff options
context:
space:
mode:
Diffstat (limited to 'planetwars-matchrunner/src')
-rw-r--r--planetwars-matchrunner/src/docker_runner.rs5
-rw-r--r--planetwars-matchrunner/src/match_context.rs1
2 files changed, 4 insertions, 2 deletions
diff --git a/planetwars-matchrunner/src/docker_runner.rs b/planetwars-matchrunner/src/docker_runner.rs
index 939d734..a4415ca 100644
--- a/planetwars-matchrunner/src/docker_runner.rs
+++ b/planetwars-matchrunner/src/docker_runner.rs
@@ -207,8 +207,9 @@ impl DockerBotRunner {
let result = timeout(request.timeout, resp_fut).await;
let request_response = match result {
Ok(Ok(response)) => Ok(response.to_vec()),
- // this one happens when a bot output stream ends, map this to Timeout for now
- Ok(Err(_read_error)) => Err(RequestError::Timeout),
+ // Read failed.
+ // TODO: better logging for errors
+ Ok(Err(_read_error)) => Err(RequestError::BotTerminated),
Err(_elapsed) => Err(RequestError::Timeout),
};
let request_id = (self.player_id, request.request_id);
diff --git a/planetwars-matchrunner/src/match_context.rs b/planetwars-matchrunner/src/match_context.rs
index bdc87a3..6e6a088 100644
--- a/planetwars-matchrunner/src/match_context.rs
+++ b/planetwars-matchrunner/src/match_context.rs
@@ -163,6 +163,7 @@ impl Future for Request {
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum RequestError {
Timeout,
+ BotTerminated,
}
pub type RequestResult<T> = Result<T, RequestError>;