Generic bounded buffer app