RsBundle  Diff

Differences From Artifact [d91a1b3dc5]:

  • File src/solver/sync.rs — part of check-in [d2fabdfa95] at 2019-11-22 13:32:09 on branch async — Merge trunk (user: fifr size: 30775) [more...]

To Artifact [bed8f0c642]:

  • File src/solver/sync.rs — part of check-in [9b49c0718c] at 2019-11-22 21:25:28 on branch async — Merge trunk (user: fifr size: 30743) [more...]

139
140
141
142
143
144
145
146

147
148
149
150
151
152
153

154
155
156
157
158
159
160
139
140
141
142
143
144
145

146
147
148
149
150
151
152

153
154
155
156
157
158
159
160







-
+






-
+







    fn from(err: masterprocess::Error<MErr, PErr>) -> Error<MErr, PErr> {
        use masterprocess::Error::*;
        match err {
            DisconnectedSender => Error::Disconnected,
            DisconnectedReceiver => Error::Disconnected,
            Aggregation(err) => Error::Master(err),
            SubgradientExtension(err) => Error::Update(err),
            Master(err) => Error::Master(err.into()),
            Master(err) => Error::Master(err),
        }
    }
}

impl<MErr, PErr> From<RecvError> for Error<MErr, PErr> {
    fn from(err: RecvError) -> Error<MErr, PErr> {
        Error::Process(err.into())
        Error::Process(err)
    }
}

type ClientSender<P> = Sender<EvalResult<usize, <P as FirstOrderProblem>::Primal, <P as FirstOrderProblem>::Err>>;

type ClientReceiver<P> = Receiver<EvalResult<usize, <P as FirstOrderProblem>::Primal, <P as FirstOrderProblem>::Err>>;

548
549
550
551
552
553
554
555

556
557
558
559
560
561
562
548
549
550
551
552
553
554

555
556
557
558
559
560
561
562







-
+







            .unwrap_or(false)
        {
            return Err(Error::Dimension("upper bounds".to_string()));
        }

        debug!("Start master process");
        self.master_proc = Some(MasterProcess::start(
            self.master.build().map_err(|err| Error::BuildMaster(err.into()))?,
            self.master.build().map_err(Error::BuildMaster)?,
            master_config,
            &mut self.threadpool,
        ));

        debug!("Initial problem evaluation");
        // We need an initial evaluation of all oracles for the first center.
        let y = Arc::new(self.data.cur_y.clone());