If volume quota is used, can it be set to only trigger for outbound traffic? It would seem that that is possible, but I haven't had a chance to test.
If volume quota is implemented and an upload or download is in progress and that transaction exceeds the quota, what happens? Would the upload or download continue until finished and the next attempt to upload/download would trigger the volume quota exceeded action?
For example, say that User A has a download quota of 1GB/day and first downloads a 500 MB file, then a 400 MB file and then a 2GB file. The first two would be permissible in the theoretical quota, but from a policy standpoint the third should not be. How would MWG handle that situation? Would it interrupt the connection and put up a notification page (if one is configured) or would it allow the 2GB file to go through and then trigger the notification page on any subsequent download?
The internal byte counter that sums up up volume for quotas only sums the bytes_to_client. This is internally written into the quota module and can't be altered. I don't think you are going to be able to do this with outbound bytes.
In general, when a quota session expires, it does not terminate existing connections. A GET or POST that is in progress should not be terminated. It will deny subsequent requests after limit is reached.
That said, not all transfers consist of a single GET or POST.
For example, if you watch a 45 minute video and your quota is 30 minutes for the day, in theory you should be able to sustain the viewing of the video. But the entire viewing process is not just one long GET. It's a series of small GETs that bring in buffered segments and plays, then GET the next segment and play. So if the timer expires, you will be unable to request the subsequent segments.