New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release instead of Abort when network_timeout expires #619
Comments
The network timeout exists because with TCP there's no notification when the connection has been dropped by the peer. So the assumption is that after 60s (default) with no communication the connection has been broken. If the connection's broken then there's no reason to send an A-RELEASE (because release is negotiated between the two AEs). An abort, on the other hand, is one sided - the local sends it and doesn't care about any responses. But to answer your question, no, there's no way to set it to release rather than abort. Why do you prefer a release? |
Thanks for the info! The PACS I'm initiating the association with expects the association to be gracefully released, in order to determine the study transfer has completed. At the current situation, where the association is aborted, the study doesn't switch to a "Complete" state in the PACS. |
I thought about it a bit more and the release negotiation will send an abort anyway if it tries to release but gets no response. The cost is a longer timeout period (network_timeout + acse_timeout). I just have a sort of concept in my head that release is for "friendly" disconnects while a network timeout is an "unfriendly" one so should result in an abort. It wouldn't be a big deal to add a config option for it. |
I agree with what you wrote, that's also how I see it:
In the meantime we've implemented a timeout mechanism in Python, based on this: https://stackoverflow.com/questions/2281850/timeout-function-if-it-takes-too-long-to-finish If it would be possible to achieve the same natively with pynetdicom, by adding a config option, that would be amazing! |
I've added the |
Hello!
I'm using the default
network_timeout
, which is 60 seconds. After 60 seconds of inactivity, the association abortsIs there a way to set the association to get released, rather than aborted, after the timeout expires?
The text was updated successfully, but these errors were encountered: