Respect the buffer limits. Changed emit method to be more tolerant - retry in more cases, handle failure, move on.