Witam wszystkich!
Załóżmy, że mam aplikację wykonującą pewne skomplikowane, czasochłonne, obliczenia. Aplikacja ta posiada funkcjonalność ładowania pluginów, które mają na celu umożliwienie dostępu do efektów obliczeń. Przykładowo - plugin odpowiedzialny jest za obsługę zapytań odbywających się przez TCP/IP. Po otrzymaniu zapytania ma on zdecydować jaką akcję podjąć, pobrać dane od aplikacji (hosta), która udostępnia mu je poprzez jakieś API, a na koniec wysłać odpowiedź.
Moje pytanie jest następujące: w jaki sensowny sposób zrealizować wymianę informacji między pluginem a aplikacją-hostem. Rozumiem, że proste wywoływanie funkcji API przez plugin nie wchodzi w grę. Do głowy przychodzi mi tylko pomysł ze stworzeniem "kolejek zapytań" - plugin wstawiałby prośbę o pozyskanie informacji do swego rodzaju kolejki znajdującej się w hoście, a ten odpowiadałaby na takie zapotrzebowania w dogodnym momencie. Natomiast co w przypadku gdy komunikacja ma narzucone pewne ramy czasowe i przykładowo musimy odpowiedzieć na zapytanie w czasie nie dłuższym niż np. 50 ms? W jaki sposób radzić sobie w takim przypadku?