tree c71039f8fc915ce3042d602a27e2e1c159e765d6
parent 6842912989bd43a0b15e069eaea33dfc5495de04
author Tennessee Carmel-Veilleux <tennessee.carmelveilleux@gmail.com> 1718381750 -0400
committer GitHub <noreply@github.com> 1718381750 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJmbGy2CRC1aQ7uu5UhlAAAxJYQACxoc+RvvEg87uql78TWjUi5
 ahoYhHfXP0s8PiAT9o4mxOi4YsV55IztVCX9IiuzTJNTO1FjL3nDBG+uGz5gaNhf
 6gmqfoBifPiBIt1VyNnLSQUHSywONvyQUx3HxfRZYPLA5xf4ES6Z/FojFlzSCntM
 ybGI/INF3/jU4Zc2PZuj4N5vVpEjo+1aL3UYF/1MzXPAGo6e6jndQ4EUeEUkv+6O
 gHuW7vfAgGKkVs/nXsiOCl4LGmTrXu8POzkxor2J6HlDTOI6X9vxKMcKnOb0Dq3R
 kWDgXlosvUcohW4Ijb2dA8krxx/WtYRmMApBEc3G8KuVHW5RIwRJ37hWcBw3Qy6a
 QTFO6ZQxy1utURms4O9WepRaWYcXL6fLS+oriVs+CLluLJebLaFf0RXlnVyYRVUd
 bK0ajkYiM/BqLj+jL/aM/VhkzE7YKTWfn32LRQFzpVcV08wt8ehyfpZQlvrARyiz
 PQQzS/bBD2/yx9lSjnCfOeB23WEUEKotY078twZOHD9ShenSGdz6S+k4Np5FW7tV
 1t7N5NQpLkgwnEK8yhsMuJOWcZbaIeHKt7RcWsoLuG5vFkTvVWSLA69YKktGy5pI
 kmrBLxLI7sW0FmSbw6cfRikkHr/+iRVyTqCj+45Nv8RLoz5gYSOfQCXm7/OjfgdL
 A+G1duZRPZe+GYivVf+l
 =gvuB
 -----END PGP SIGNATURE-----
 

Add new AddStatus overloads using ClusterStatusCode (#33904)

* Add new AddStatus overloads using ClusterStatusCode

- CommandHandler and WriteHandler did not have a way to cleanly just `AddStatus` with
  a cluster-specific status code (to eventually harmonize handling methods to
  always return just a ClusterStatusCode).

This PR:

- Introduces an `AddStatus` overload for `ClusterStatusCode` to CommandHandler
  and WriteHandler.
- Removes the unimplemented `WriteClient::Shutdown` method.
- Adds notes to the `AddClusterSpecificSuccess` and `AddClusterSpecificFailure`.
- Removes implicit conversion from `ClusterStatusCode` to `Status`
  - Was never used and was error-prone/lossy

Fixes #31120

Testing done:
- Updated necessary unit tests.
- Added unit tests for cluster specific statuses on writes.
- Integration tests still pass.

* Restyled by clang-format

* Improve type safety of test

* Address review comments

- Make StatusIB initializable from ClusterStatusCode
- Clean-ups requested
- CommandResponseHelper loses the error-prone cluster-specific-code on success
  (can be added back if ever needed).

* Restyled by clang-format

---------

Co-authored-by: Restyled.io <commits@restyled.io>