On another note, you could use something I'm thinking as a cookie/token to maintain where a given client is within a given transaction. Then keep data (whether in FIFOs, DBs, or plain files) on what needs to go where based on the token. This could alleviate some issues, as you move to a state machine as opposed to dealing strictly with transactions.
Thought process:
Client connects
if client->token {
check datasource(token);
if send_to_client {
send_to_client
clear_data_set
}
if client->new_cmd {
do_something
}
} else {
client->token(new);
if client->new_cmd {
do_something
}
}
Then maintain a seperate process which sits and checks for server->server communication requests, handles that, and updates the data source appropriatly.
A breakdown that way seems slightly less complicated to me, while residing within what you want to do. Also you can update the client or server piece without a major rewrite of the entire app
/* And the Creator, against his better judgement, wrote man.c */
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.