MCPcopy Create free account
hub / github.com/It4innovations/hyperqueue / start_server

Function start_server

crates/hyperqueue/src/client/commands/server.rs:172–228  ·  view source on GitHub ↗
(gsettings: &GlobalSettings, opts: ServerStartOpts)

Source from the content-addressed store, hash-verified

170}
171
172async fn start_server(gsettings: &GlobalSettings, opts: ServerStartOpts) -> anyhow::Result<()> {
173 let access_file: Option<FullAccessRecord> = opts
174 .access_file
175 .map(|path| load_access_record(path.as_path()))
176 .transpose()?;
177
178 let worker_host = opts
179 .host
180 .clone()
181 .or_else(|| access_file.as_ref().map(|a| a.worker_host().to_string()))
182 .unwrap_or_else(|| get_hostname(None));
183
184 let client_host = opts
185 .host
186 .or_else(|| access_file.as_ref().map(|a| a.client_host().to_string()))
187 .unwrap_or_else(|| get_hostname(None));
188
189 let worker_port = opts
190 .worker_port
191 .or(access_file.as_ref().map(|a| a.worker_port()));
192 let client_port = opts
193 .client_port
194 .or(access_file.as_ref().map(|a| a.client_port()));
195
196 let server_cfg = ServerConfig {
197 client_host,
198 worker_host,
199 idle_timeout: opts.idle_timeout,
200 client_port,
201 worker_port,
202 journal_path: opts.journal,
203 journal_flush_period: opts.journal_flush_period,
204 worker_secret_key: access_file
205 .as_ref()
206 .map(|a| a.worker_key().cloned())
207 .unwrap_or_else(|| {
208 if opts.disable_worker_authentication_and_encryption {
209 None
210 } else {
211 Some(Arc::new(generate_key()))
212 }
213 }),
214 client_secret_key: access_file
215 .as_ref()
216 .map(|a| a.client_key().cloned())
217 .unwrap_or_else(|| {
218 if opts.disable_client_authentication_and_encryption {
219 None
220 } else {
221 Some(Arc::new(generate_key()))
222 }
223 }),
224 server_uid: access_file.as_ref().map(|a| a.server_uid().to_string()),
225 };
226
227 init_hq_server(gsettings, server_cfg).await
228}
229

Callers 1

command_serverFunction · 0.70

Calls 15

load_access_recordFunction · 0.85
get_hostnameFunction · 0.85
init_hq_serverFunction · 0.85
as_refMethod · 0.80
to_stringMethod · 0.80
worker_hostMethod · 0.80
client_hostMethod · 0.80
orMethod · 0.80
worker_portMethod · 0.80
client_portMethod · 0.80
worker_keyMethod · 0.80
client_keyMethod · 0.80

Tested by

no test coverage detected