So, I got my server working. It happily receives text and sends responses back for a while, and after reading exactly 1213 delimiters the server just stops reading from the wire and sending responses back.
I think I need a lesson in buffer management or something. I have ZBFSIZE=10000, and ZIBUFSIZE=100000
Any idea why GT.M would just stop reading and sending responses back like that?
I see no errors in $ZA, $ZB, $ZC, $KEY=$C(27)_"_" which is the delimiter, and $DEVICE=0.
The final transmission to the server is never read from the socket by the MUMPS command.
We want to take a closer look at this. Do you have a small test case that reproduces the issue? Or otherwise, can you send us the latest version of your code, and tell us how we can reproduce the issue?
Is your input constant length or variable?
I finally figured out that the connection was not stalling. I carelessly programmed loop in the routine that built up the stack until stack space got critical and the program crashed. I just wasn't seeing it because I had set $ZTRAP.
Anyway, I don't have any issues with this, but my input from the socket is variable length - i use delimiters.
I would, though, like to learn more about how the buffer sizes affect performance ....
There isn't any such documentation that I can think of. As they say, "Use the Source, Luke!"
If you do develop any useful documentation on the subject, I am sure the community would appreciate it, and I can help you get it posted in the Docs section.
Log in to post a comment.