Would it make more sense to raise an exception instead? IMHO it'd be more descriptive and force implementations to return actual transport information.