Was buried in ED3PTT work. Didn't have time check it out, my bad.
In the past with V1 aside from the fact that each and every commodity was a single message (for backwards compatibility) there were quite a few discussions about things which were missing or could be done better. NOW is your change to requirement known again.
I do have a proposal for a requirement. Atm there are relative few messages send to EDDN and published by it. When the ED API's arrives this hopefully will explode. Currently the free hosting provided by Vivio Technologies gives us a 20 Mbps unmetered internet connection. I believe this will change in the future and we will get more bandwidth.
Suppose the ED API is there and EDDN will be flooded with messages and a lot of them could/will be the same. As in each time a commander opens the commodities market the prices for that station/outpost are uploaded - ofc the commander has to be running a tool which uploads to EDDN. If more commanders arrive at that station more or less at the same time the prices will be the same data will be transmitted. Supppose the current 20Mbps is full but EDDN can handle it. That is NOT to say that commanders who want to connect to EDDN for their public/private tools can handle it. Not everyone has a lot of bandwidth.
Like I said a lot of data could be the same, it will be received by EDDN BUT it doesn't mean EDDN has to publish all those duplicates. Suppose a hash is created (there are some extremely fast ones out there) for all the commodities and and their prices. When the message is received by EDDN is creates a hash also. If the hashes are the same it should not be send out. This will make it possible that commanders with less bandwidth can still connect to EDDN and it also means saving bandwidth.
Ofc it means extra work for EDDN, coding wise and CPU wise. The aim of EDDN is to keep things simple. Do you see merits in my suggestion? Please us all know what you think....
There is a dupe message function that is currently commented in the code but could be update to suits our needs.
We'll have to investigate that, but it's mainly a hash cache, to see if a message has been sent for the last 5 minutes or so.