On Wed, 29 Aug 2007, Guy Hulbert wrote:
1. A unique ID per message (on one server). 2. Ability to distinguish per recipient. 3. Ability to identify the server. A sequence solves (1) except for simultaneous processing of incoming messages via: a) async b) threads/multiple cpus c) local ports (possibly on multiple addresses) Except with multiple CPUs, time with sufficient resolution is a satisfactory replacement for a sequence.
"Except with multiple CPUs" is a big problem. OTOH, as has been mentioned multiple times, a four-tuple identifying the TCP connection plus a timestamp will be satisfactory with any number of CPUs, and with very fast networks.
It may be useful to log things like remote_port but it doesn't seem to help directly to solve problem 1. A counter solves 2. Any tag which is unique per server solves 3. It is probably simpler to make this configurable by the end-user.
A four-tuple identifying the TCP connection also identifies the server. --- Charlie