support long-polling + multiple asyncronous i/o