an simple wrap for boost::corotine, to make asynchronous programing looks like blocking programing