|
54 | 54 | | #'ApbStaticReadObjectsResp'{}
|
55 | 55 | | #'ApbReadObjects'{}
|
56 | 56 | | #'ApbReadObjectsResp'{}
|
| 57 | +| #'ApbOperationResp'{} |
57 | 58 | .
|
58 | 59 |
|
59 | 60 | -type bound_object() :: {Key :: binary(), Type :: atom(), Bucket :: binary()}.
|
|
81 | 82 | | {start_transaction_response, Resp :: {ok, TxId :: binary()} | {error, Reason::error_code()}}
|
82 | 83 | | {commit_response, {ok, CommitTime :: any()} | {error, Reason :: error_code()}}
|
83 | 84 | | {static_read_objects_response, {ok, Results :: [{bound_object(), read_result()}], CommitTime :: binary()}}
|
84 |
| -| {read_objects_response, Resp :: [{bound_object(), read_result()}]}. |
| 85 | +| {read_objects_response, Resp :: [{bound_object(), read_result()}]} |
| 86 | +| {operation_response, ok | {error, Reason :: error_code()}}. |
85 | 87 |
|
86 | 88 | -type message() :: request() | response().
|
87 | 89 |
|
@@ -172,7 +174,9 @@ encode_message({commit_response, Resp}) ->
|
172 | 174 | encode_message({static_read_objects_response, {ok, Results, CommitTime}}) ->
|
173 | 175 | encode_static_read_objects_response(Results, CommitTime);
|
174 | 176 | encode_message({read_objects_response, Resp}) ->
|
175 |
| - encode_read_objects_response(Resp). |
| 177 | + encode_read_objects_response(Resp); |
| 178 | +encode_message({operation_response, Resp}) -> |
| 179 | + encode_operation_response(Resp). |
176 | 180 |
|
177 | 181 | -spec decode_message(sendable()) -> message().
|
178 | 182 | decode_message(#'ApbStartTransaction'{properties = Properties, timestamp = Clock}) ->
|
@@ -218,6 +222,13 @@ decode_message(#'ApbReadObjectsResp'{success = Success, errorcode = ErrorCode, o
|
218 | 222 | {read_objects_response, Resp};
|
219 | 223 | false ->
|
220 | 224 | {error, decode_error_code(ErrorCode)}
|
| 225 | + end; |
| 226 | +decode_message(#'ApbOperationResp'{success = S, errorcode = E}) -> |
| 227 | + case S of |
| 228 | + true -> |
| 229 | + ok; |
| 230 | + false -> |
| 231 | + {error, decode_error_code(E)} |
221 | 232 | end.
|
222 | 233 |
|
223 | 234 |
|
|
0 commit comments