'Provides'

def process_data(self, iterator, start_val=0, max_vals=None, **kwargs):

    rval = []
    message = None
    for (count, line) in enumerate(iterator):
        if (count < start_val):
            continue
        if (max_vals and ((count - start_val) >= max_vals)):
            message = (self.error_max_vals % (max_vals, 'interactions'))
            break
        feature = line.split()
        s1 = int(feature[1])
        e1 = int(feature[2])
        c = feature[3]
        s2 = int(feature[4])
        e2 = int(feature[5])
        v = float(feature[6])
        payload = [hash(line), s1, e1, c, s2, e2, v]
        rval.append(payload)
    return {'data': rval, 'message': message}
