This diff adds removing of processed messages by the client from the database and handling of the incoming [[ https://github.com/CommE2E/comm/blob/efbbde6e7eb567b9a7e1e1bbf4de562a77d2e35a/shared/protos/tunnelbroker.proto#L112 | processedMessages ]] message.
When the Tunnelbroker sends messages to the client by [[ https://github.com/CommE2E/comm/blob/efbbde6e7eb567b9a7e1e1bbf4de562a77d2e35a/shared/protos/tunnelbroker.proto#L132 | MessagesToDeliver ]] (in D5540, D5580) we are expecting messages IDs back from the client as [[ https://github.com/CommE2E/comm/blob/efbbde6e7eb567b9a7e1e1bbf4de562a77d2e35a/shared/protos/tunnelbroker.proto#L112 | ProcessedMessages ]] when they are successfully processed. After receiving the messages IDs the Tunnelbroker will remove messages from the database. Using this mechanism we are sure that the messages were successfully processed by the client before removing them.
Linear task: [[ https://linear.app/comm/issue/ENG-2060/implement-tunnelbroker-grpc-messagesstream-api-handler-in-rust | ENG-2060 ]]