A peer can already do this. All it takes is to buffer up several packets before doing a write to the socket (as was pointed out Nagle will do this already to a certain extent too). Output buffering is generally a good practice - it's also simpler and doesn't require changes to the protocol.
In general it's a bad idea for the application level protocol to make any assumptions about the lower level network protocol. There's no telling what the smallest MTU may be between you and another peer - packets may be fragmented, recombined or compressed at any point along the journey. Because of fragmentation, you might actually cause more packets to be sent. |