Summary:
This diff ensures that all operations on the socket are put into a serial background queue, including delegate callbacks.
All operations are executed asynchronously except disconnect, which is made synchronous as to guarantee no resources are accessed after the call.
Reviewed By: fabiomassimo
Differential Revision: D35254499
fbshipit-source-id: 33d93926f7bfc8948095c59f12ca31f0a932b8ae