I see how this is waiting on a `received` attribute to show up, but raising an `AttributeError` here wouldn't be appropriate either.  It should maybe be some type of `IOError` or other `EnvironmentError` subtype. 