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
    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()),
        }
    }
}

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

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>>;








|






|







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),
        }
    }
}

impl<MErr, PErr> From<RecvError> for Error<MErr, PErr> {
    fn from(err: RecvError) -> Error<MErr, PErr> {
        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
            .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()))?,
            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());







|







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(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());