1. A method comprising: using execution of descriptors to control direct memory access communications; and using data from at least one of the descriptors to control branching of descriptor execution among multiple execution paths.