[feature] added generator based send implementation in order to be able to implement two-pass sending easier