User decides when to take snapshot.
Raise exception if the size of pending req is large.

Before we blocked the send method.