ZMQ でブロードキャストしている Kinect からメッセージを読み込んでいます。
多かれ少なかれ次のコードを使用します。
socket_t subscriber_eeg(context, ZMQ_SUB);
subscriber_eeg.connect("tcp://127.0.0.1:5559");
while(true)
{
Do Random stuff
if (pressedPause)
{
//shows message
continue;
}
subscriber.recv(&kinect_msg);
//code to process message
//code to plot the hand movements.
}
目的は、誰かが一時停止を押した特定のイベントでコードの実行を一時停止することです。一時停止イベントはスレッド上で独立して実行されています。
すべて正常に動作しますが、問題は、ZMQ がメッセージをバッファリングするため、一時停止状態でキャプチャされたすべての動きを突然プロットし始めることです。
一時停止が発生した場合にメッセージの受信を停止するか、バッファをクリアするように ZMQ に指示する方法はありますか?