[MONGOCRYPT-135] Reconsider how state functions return error Created: 19/Mar/19  Updated: 27/Oct/23  Resolved: 25/Mar/19

Status: Closed
Project: Libmongocrypt
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Minor - P4
Reporter: Kevin Albertson Assignee: Kevin Albertson
Resolution: Gone away Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Related
is related to MONGOCRYPT-166 Simplify public API Closed
Epic Link: Build libmongocrypt library

 Description   

Driver wrappers that support exceptions won't need to return a state value for error, but instead throw an exception, ala

underylingState = state_function(...))
if (underlyingState == ERROR) {
   throw ...
 
return WrappingEnum.fromUnderlyingState(underlyingState);

It may be simpler if state functions return a boolean to indicate error:

if (!state_function(...))) {
   throw ...
 
underylingState = get_state ()
return WrappingEnum.fromUnderlyingState(underlyingState);

Concretely, that would mean changing:

mongocrypt_encryptor_state_t
mongocrypt_encryptor_add_ns (mongocrypt_encryptor_t *encryptor, const char *ns);

to

bool
mongocrypt_encryptor_add_ns (mongocrypt_encryptor_t *encryptor, const char *ns);


Generated at Thu Feb 08 09:08:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.