Finite State Machines (FSM) is an abstract machine that can be in one of a finite number of states at any given time and can transition from one state to another in response to certain inputs. In this article, I will be introducing you to the FSM topic using C++ and ASIO.