complete general streaming class