Fix the P2PQuicTransport getting wedged under load

When the P2PQuicTransport's packet writer gets an error from the
underlying P2PTransportChannel, it will signal write blocked to the
QUIC library. In order to resume sending, the P2PTransportChannel
should indicate when it can start sending again.

This CL fixes two problems:
1) Changes the writable signal from SignalWriteState to
   SignalReadyToSend. SignalReadyToSend is signaled by the
   underlying IPC socket when a Send would no longer cause an
   EAGAIN.
2) Changes the IPC socket to fire SignalReadyToSend only at the
   very end of the IPC handler so that the listener can back in to
   the P2PPacketSocket safely.

Bug: 874296
Change-Id: I8276f60165928f77ca62243f3e5865897aa2cf6f
Reviewed-on: https://chromium-review.googlesource.com/c/1330299
Commit-Queue: Steve Anton <steveanton@chromium.org>
Reviewed-by: Sergey Ulanov <sergeyu@chromium.org>
Cr-Commit-Position: refs/heads/master@{#609024}
2 files changed