2
に要求/応答ストリームを処理する方法を私はrxcppにカメラサンプリングシステムを実装する必要があります..私は、これはのparamとしてrequestStreamを渡すとresponseStreamrxcpp
たびrequestSampleが呼び出されるを受信している想像方法、新しいカメラのセッションが作成され、on_completeは()requestStreamのために呼び出されたときに、カメラセッションは
observable<ImageSample> requestSampleStream(observable<ImageRequest> requestStream$) {
auto response$ = rxcpp::observable<>::create<ImageSample>(
[&](rxcpp::subscriber<ImageSample> s){
auto request_next = [&](ImageRequest imageRequest) {
cout << "image request next" << endl;
SampleImage vsi;
s.on_next(vsi);
};
auto request_completed = [&] {
cout << "no more samples needed.. close camera" << endl;
s.on_completed();
};
auto request_error = [&](std::exception_ptr e) {
try { rethrow_exception(e); }
catch (const exception &ex) {
cerr << "error happened on request stream.. close the camera and send error on return stream" << endl << ex.what() << endl;
}
s.on_error(e);
};
requestStream$.subscribe(request_next,
request_error,
request_completed
);
});
return response$;
}
を終了している問題ここでrequestStream$.subscribe(request_next..
が呼び出された時点で、私はEXC_BAD_ACCESSを取得することである
スポットには何がありますか?もっと多くのrxcpp-ish方法はありますか?地図をタップしてタップしますか? – Ciprian
ええ、既存の地図を使用してalgoは、マップを再現するcreateを使用するよりも優れています。 –
私の唯一の問題は、マップの結果が非同期であるため、マップが同期的に戻ることができないということです。その回避策はありますか? – Ciprian