An Adaptive Data-transfer Protocol for Sensor Networks with Data Mules