Re: Architecture to post and send messages to queues
- From: Ben <x@xxxxxxxx>
- Date: Thu, 28 Jul 2005 09:10:45 -0500 (CDT)
I suggest you first look at the design pattern posted by Jim Kring (LabVIEW Champion and founder of OpenG) that can be found here.
<a href="http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3D9CD56A4E034080020E74861&p_node=DZ52061&p_submitted=N&p_rank=&p_answer=&p_source=External" target="_blank">http://sine.ni.com/apps/we/niepd_web_display.DISPLAY_EPD4?p_guid=B45EACE3D9CD56A4E034080020E74861&p_node=DZ52061&p_submitted=N&p_rank=&p_answer=&p_source=External</a>
I have used a structure that was inspired by that approach that may serve your needs.
In my case I had a controller that accepted commands via a queue and processed them in order. The controller then returned the result to the requesting entity vai another queue.
This was implemented by first creating a queue by which the controller accepted requests. The "clients" submitted there requests via that queue. Nothing fancy about this yet. Included in the data element transfered to this queue was a reference to a queue. This reference was filled in by the client when the request was submited. When the server completed the task requested, the response was returned the the client via the queue it provided.
It worked like a "self addressed stamped envelope". The server never knew who it was doing the work for. It just did the work, and passed the results back to whoever it was that asked for it.
Meanwhile, back in the client...
The Client would monitor its response queue waiting for its request to be completed.
I hope this helps,
Ben
.
- References:
- Architecture to post and send messages to queues
- From: Jason S
- Architecture to post and send messages to queues
- Prev by Date: Re: Get your questions answered by LabVIEW developers.
- Next by Date: How do I save mutliple strings to a spread*** file?
- Previous by thread: Architecture to post and send messages to queues
- Next by thread: How do I save mutliple strings to a spread*** file?
- Index(es):