Refactoring long polling transport to be able to fix bug #3227

Will do.