Skip to content

Commit 786e39c

Browse files
committed
Eliminate a self destructuring
It seems to be a bad deal: increases line count and obscures the origin of values in a pretty long function.
1 parent 5b1e93e commit 786e39c

File tree

1 file changed

+17
-26
lines changed

1 file changed

+17
-26
lines changed

src/dist/http.rs

Lines changed: 17 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -913,30 +913,19 @@ mod server {
913913
}
914914

915915
pub fn start(self) -> Result<Infallible> {
916-
let Self {
917-
bind_address,
918-
scheduler_url,
919-
scheduler_auth,
920-
cert_digest,
921-
cert_pem,
922-
privkey_pem,
923-
jwt_key,
924-
server_nonce,
925-
handler,
926-
} = self;
927916
let heartbeat_req = HeartbeatServerHttpRequest {
928917
num_cpus: num_cpus(),
929-
jwt_key: jwt_key.clone(),
930-
server_nonce,
931-
cert_digest,
932-
cert_pem: cert_pem.clone(),
918+
jwt_key: self.jwt_key.clone(),
919+
server_nonce: self.server_nonce,
920+
cert_digest: self.cert_digest,
921+
cert_pem: self.cert_pem.clone(),
933922
};
934-
let job_authorizer = JWTJobAuthorizer::new(jwt_key);
935-
let heartbeat_url = urls::scheduler_heartbeat_server(&scheduler_url);
923+
let job_authorizer = JWTJobAuthorizer::new(self.jwt_key);
924+
let heartbeat_url = urls::scheduler_heartbeat_server(&self.scheduler_url);
936925
let requester = ServerRequester {
937926
client: new_reqwest_blocking_client(),
938-
scheduler_url,
939-
scheduler_auth: scheduler_auth.clone(),
927+
scheduler_url: self.scheduler_url,
928+
scheduler_auth: self.scheduler_auth.clone(),
940929
};
941930

942931
// TODO: detect if this panics
@@ -947,7 +936,7 @@ mod server {
947936
match bincode_req(
948937
client
949938
.post(heartbeat_url.clone())
950-
.bearer_auth(scheduler_auth.clone())
939+
.bearer_auth(self.scheduler_auth.clone())
951940
.bincode(&heartbeat_req)
952941
.expect("failed to serialize heartbeat"),
953942
) {
@@ -967,10 +956,10 @@ mod server {
967956
}
968957
});
969958

970-
info!("Server listening for clients on {}", bind_address);
959+
info!("Server listening for clients on {}", self.bind_address);
971960
let request_count = atomic::AtomicUsize::new(0);
972961

973-
let server = rouille::Server::new_ssl(bind_address, move |request| {
962+
let server = rouille::Server::new_ssl(self.bind_address, move |request| {
974963
let req_id = request_count.fetch_add(1, atomic::Ordering::SeqCst);
975964
trace!("Req {} ({}): {:?}", req_id, request.remote_addr(), request);
976965
let response = (|| router!(request,
@@ -979,7 +968,7 @@ mod server {
979968
let toolchain = try_or_400_log!(req_id, bincode_input(request));
980969
trace!("Req {}: assign_job({}): {:?}", req_id, job_id, toolchain);
981970

982-
let res: AssignJobResult = try_or_500_log!(req_id, handler.handle_assign_job(job_id, toolchain));
971+
let res: AssignJobResult = try_or_500_log!(req_id, self.handler.handle_assign_job(job_id, toolchain));
983972
prepare_response(request, &res)
984973
},
985974
(POST) (/api/v1/distserver/submit_toolchain/{job_id: JobId}) => {
@@ -988,7 +977,8 @@ mod server {
988977

989978
let body = request.data().expect("body was already read in submit_toolchain");
990979
let toolchain_rdr = ToolchainReader(Box::new(body));
991-
let res: SubmitToolchainResult = try_or_500_log!(req_id, handler.handle_submit_toolchain(&requester, job_id, toolchain_rdr));
980+
let res: SubmitToolchainResult = try_or_500_log!(req_id, self.handler.handle_submit_toolchain(
981+
&requester, job_id, toolchain_rdr));
992982
prepare_response(request, &res)
993983
},
994984
(POST) (/api/v1/distserver/run_job/{job_id: JobId}) => {
@@ -1007,7 +997,8 @@ mod server {
1007997
let inputs_rdr = InputsReader(Box::new(ZlibReadDecoder::new(body)));
1008998
let outputs = outputs.into_iter().collect();
1009999

1010-
let res: RunJobResult = try_or_500_log!(req_id, handler.handle_run_job(&requester, job_id, command, outputs, inputs_rdr));
1000+
let res: RunJobResult = try_or_500_log!(req_id, self.handler.handle_run_job(&requester, job_id,
1001+
command, outputs, inputs_rdr));
10111002
prepare_response(request, &res)
10121003
},
10131004
_ => {
@@ -1017,7 +1008,7 @@ mod server {
10171008
))();
10181009
trace!("Res {}: {:?}", req_id, response);
10191010
response
1020-
}, cert_pem, privkey_pem).map_err(|e| anyhow!(format!("Failed to start http server for sccache server: {}", e)))?;
1011+
}, self.cert_pem, self.privkey_pem).map_err(|e| anyhow!(format!("Failed to start http server for sccache server: {}", e)))?;
10211012

10221013
// This limit is rouille's default for `start_server_with_pool`, which
10231014
// we would use, except that interface doesn't permit any sort of

0 commit comments

Comments
 (0)