[keyserver] Adding metadata to the Tunnelbroker client constructor
Summary:
This diff adds passing of the deviceID as metadata to the bidirectional stream when connecting to the Tunnelbroker through the Rust shared client library. Passing the metadata implemented by ejecting using the metadata_mut() practice.
Linear tasks:
Test Plan:
- Connecting to the running Tunnelbroker instance will result in a successful authentication in a reduced state (redis-replacement) mode.
- When connecting without deviceID provided in the metadata the Tunnelbroker will return a following error: "Expected 'deviceID' value in metadata is not provided".
Reviewers: varun, bartek, jon
Reviewed By: bartek
Subscribers: ashoat, tomek, atul
Differential Revision: https://phab.comm.dev/D6771