This diff fixes the calling of the blocking C++ function from an async Tokio task. Without this fix the scheduler first will run the blocking C++ function in a loop and put the async tasks in a queue after the blocking functions in a c++ thread. This causes an issue where the mpsc receiver will invoke a calling function only when the buffer size + 1 instead of on every push to the mpsc channel. As a result, the Tonic server will send messages to the stream only when the buffer size + 1 instead of every new message.
Full context in a linear task: [[ https://linear.app/comm/issue/ENG-3065/writing-to-the-mpscchannel-sender-bound-to-the-tonic-channel-sends | ENG-3065 ]]