daemon: adopt HandlerResult<T> — real error codes from handlers (contracts/ 1.4.0)
Rebased onto main at 1.4.0. The regenerated Dispatcher returns
HandlerResult<T> = expected<T, HandlerError{code, message, data}>
(ADR 0014); the covariant-return break on all 39 overrides is the swap
predicted in daemon/docs/proto-requests-m1.md P1.
- dispatcher.hpp/.cpp: Result<T> -> HandlerResult<T> on every override;
not_implemented() now returns HandlerError{InternalError, ...} rather
than a ParseError forwarded as -32603.
- download.get: returns -32010 TaskNotFound with data.taskId. Not a
placeholder — with no store, every id is genuinely not-found, which
is the real answer for contracts/ fixture download.get.not-found. It
becomes a store lookup when store/ is wired in.
- uds_roundtrip: the -32603-collapse guard is now a -32010 + data.taskId
assertion, the regression guard the P1 note promised.
download.add (-32011) and download.probe (-32013) stay InternalError
until they have real bodies (canonicalization / probe); they get their
fixture codes when that logic lands.
All 24 tests green; uds_roundtrip TSan-clean.
Co-Authored-By: Claude Sonnet 5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Upd9WhG9oppieig5nRDLig
This commit is contained in:
@@ -21,82 +21,82 @@ namespace velox::daemon::rpc {
|
||||
|
||||
class VeloxDispatcher final : public velox::proto::Dispatcher {
|
||||
public:
|
||||
velox::proto::Result<velox::proto::CaptureRules>
|
||||
velox::proto::HandlerResult<velox::proto::CaptureRules>
|
||||
on_capture_getRules(const velox::proto::CaptureGetRulesParams&) override;
|
||||
velox::proto::Result<velox::proto::CaptureOfferResult>
|
||||
velox::proto::HandlerResult<velox::proto::CaptureOfferResult>
|
||||
on_capture_offer(const velox::proto::CaptureOfferParams&) override;
|
||||
velox::proto::Result<velox::proto::CategoryListResult>
|
||||
velox::proto::HandlerResult<velox::proto::CategoryListResult>
|
||||
on_category_list(const velox::proto::CategoryListParams&) override;
|
||||
velox::proto::Result<velox::proto::CategoryRemoveResult>
|
||||
velox::proto::HandlerResult<velox::proto::CategoryRemoveResult>
|
||||
on_category_remove(const velox::proto::CategoryRemoveParams&) override;
|
||||
velox::proto::Result<velox::proto::CategoryUpsertResult>
|
||||
velox::proto::HandlerResult<velox::proto::CategoryUpsertResult>
|
||||
on_category_upsert(const velox::proto::CategoryUpsertParams&) override;
|
||||
velox::proto::Result<velox::proto::DownloadAddResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadAddResult>
|
||||
on_download_add(const velox::proto::DownloadSpec&) override;
|
||||
velox::proto::Result<velox::proto::DownloadAddBatchResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadAddBatchResult>
|
||||
on_download_addBatch(const velox::proto::DownloadAddBatchParams&) override;
|
||||
velox::proto::Result<velox::proto::BulkTaskResult>
|
||||
velox::proto::HandlerResult<velox::proto::BulkTaskResult>
|
||||
on_download_cancel(const velox::proto::DownloadCancelParams&) override;
|
||||
velox::proto::Result<velox::proto::TaskDetail>
|
||||
velox::proto::HandlerResult<velox::proto::TaskDetail>
|
||||
on_download_get(const velox::proto::DownloadGetParams&) override;
|
||||
velox::proto::Result<velox::proto::DownloadListResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadListResult>
|
||||
on_download_list(const velox::proto::DownloadListParams&) override;
|
||||
velox::proto::Result<velox::proto::BulkTaskResult>
|
||||
velox::proto::HandlerResult<velox::proto::BulkTaskResult>
|
||||
on_download_pause(const velox::proto::DownloadPauseParams&) override;
|
||||
velox::proto::Result<velox::proto::DownloadProbeResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadProbeResult>
|
||||
on_download_probe(const velox::proto::DownloadProbeParams&) override;
|
||||
velox::proto::Result<velox::proto::DownloadProvideAuthResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadProvideAuthResult>
|
||||
on_download_provideAuth(const velox::proto::DownloadProvideAuthParams&) override;
|
||||
velox::proto::Result<velox::proto::DownloadRefreshUrlResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadRefreshUrlResult>
|
||||
on_download_refreshUrl(const velox::proto::DownloadRefreshUrlParams&) override;
|
||||
velox::proto::Result<velox::proto::DownloadRemoveResult>
|
||||
velox::proto::HandlerResult<velox::proto::DownloadRemoveResult>
|
||||
on_download_remove(const velox::proto::DownloadRemoveParams&) override;
|
||||
velox::proto::Result<velox::proto::BulkTaskResult>
|
||||
velox::proto::HandlerResult<velox::proto::BulkTaskResult>
|
||||
on_download_resume(const velox::proto::DownloadResumeParams&) override;
|
||||
velox::proto::Result<velox::proto::BulkTaskResult>
|
||||
velox::proto::HandlerResult<velox::proto::BulkTaskResult>
|
||||
on_download_start(const velox::proto::DownloadStartParams&) override;
|
||||
velox::proto::Result<velox::proto::TaskSummary>
|
||||
velox::proto::HandlerResult<velox::proto::TaskSummary>
|
||||
on_download_update(const velox::proto::DownloadUpdateParams&) override;
|
||||
velox::proto::Result<velox::proto::GrabberHarvestResult>
|
||||
velox::proto::HandlerResult<velox::proto::GrabberHarvestResult>
|
||||
on_grabber_harvest(const velox::proto::GrabberHarvestParams&) override;
|
||||
velox::proto::Result<velox::proto::GrabberStartResult>
|
||||
velox::proto::HandlerResult<velox::proto::GrabberStartResult>
|
||||
on_grabber_start(const velox::proto::GrabberStartParams&) override;
|
||||
velox::proto::Result<velox::proto::GrabberStatusResult>
|
||||
velox::proto::HandlerResult<velox::proto::GrabberStatusResult>
|
||||
on_grabber_status(const velox::proto::GrabberStatusParams&) override;
|
||||
velox::proto::Result<velox::proto::Limiter>
|
||||
velox::proto::HandlerResult<velox::proto::Limiter>
|
||||
on_limiter_get(const velox::proto::LimiterGetParams&) override;
|
||||
velox::proto::Result<velox::proto::Limiter> on_limiter_set(const velox::proto::Limiter&) override;
|
||||
velox::proto::Result<velox::proto::MediaAddVariantResult>
|
||||
velox::proto::HandlerResult<velox::proto::Limiter> on_limiter_set(const velox::proto::Limiter&) override;
|
||||
velox::proto::HandlerResult<velox::proto::MediaAddVariantResult>
|
||||
on_media_addVariant(const velox::proto::MediaAddVariantParams&) override;
|
||||
velox::proto::Result<velox::proto::MediaListVariantsResult>
|
||||
velox::proto::HandlerResult<velox::proto::MediaListVariantsResult>
|
||||
on_media_listVariants(const velox::proto::MediaListVariantsParams&) override;
|
||||
velox::proto::Result<velox::proto::QueueListResult>
|
||||
velox::proto::HandlerResult<velox::proto::QueueListResult>
|
||||
on_queue_list(const velox::proto::QueueListParams&) override;
|
||||
velox::proto::Result<velox::proto::QueueReorderResult>
|
||||
velox::proto::HandlerResult<velox::proto::QueueReorderResult>
|
||||
on_queue_reorder(const velox::proto::QueueReorderParams&) override;
|
||||
velox::proto::Result<velox::proto::QueueStartResult>
|
||||
velox::proto::HandlerResult<velox::proto::QueueStartResult>
|
||||
on_queue_start(const velox::proto::QueueStartParams&) override;
|
||||
velox::proto::Result<velox::proto::QueueStopResult>
|
||||
velox::proto::HandlerResult<velox::proto::QueueStopResult>
|
||||
on_queue_stop(const velox::proto::QueueStopParams&) override;
|
||||
velox::proto::Result<velox::proto::QueueUpsertResult>
|
||||
velox::proto::HandlerResult<velox::proto::QueueUpsertResult>
|
||||
on_queue_upsert(const velox::proto::QueueUpsertParams&) override;
|
||||
velox::proto::Result<velox::proto::RulesListResult>
|
||||
velox::proto::HandlerResult<velox::proto::RulesListResult>
|
||||
on_rules_list(const velox::proto::RulesListParams&) override;
|
||||
velox::proto::Result<velox::proto::RulesUpsertResult>
|
||||
velox::proto::HandlerResult<velox::proto::RulesUpsertResult>
|
||||
on_rules_upsert(const velox::proto::RulesUpsertParams&) override;
|
||||
velox::proto::Result<velox::proto::ScheduleGetResult>
|
||||
velox::proto::HandlerResult<velox::proto::ScheduleGetResult>
|
||||
on_schedule_get(const velox::proto::ScheduleGetParams&) override;
|
||||
velox::proto::Result<velox::proto::ScheduleSetResult>
|
||||
velox::proto::HandlerResult<velox::proto::ScheduleSetResult>
|
||||
on_schedule_set(const velox::proto::ScheduleSetParams&) override;
|
||||
velox::proto::Result<velox::proto::SessionHelloResult>
|
||||
velox::proto::HandlerResult<velox::proto::SessionHelloResult>
|
||||
on_session_hello(const velox::proto::SessionHelloParams&) override;
|
||||
velox::proto::Result<velox::proto::SessionPairResult>
|
||||
velox::proto::HandlerResult<velox::proto::SessionPairResult>
|
||||
on_session_pair(const velox::proto::SessionPairParams&) override;
|
||||
velox::proto::Result<velox::proto::SessionSubscribeResult>
|
||||
velox::proto::HandlerResult<velox::proto::SessionSubscribeResult>
|
||||
on_session_subscribe(const velox::proto::SessionSubscribeParams&) override;
|
||||
velox::proto::Result<velox::proto::SettingsGetResult>
|
||||
velox::proto::HandlerResult<velox::proto::SettingsGetResult>
|
||||
on_settings_get(const velox::proto::SettingsGetParams&) override;
|
||||
velox::proto::Result<velox::proto::SettingsSetResult>
|
||||
velox::proto::HandlerResult<velox::proto::SettingsSetResult>
|
||||
on_settings_set(const velox::proto::SettingsSetParams&) override;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user