Python Simulation of an Internet Router

develop a discrete-event simulation of an Internet router
with a single input queue and a single output interface. The packets arrive following a random Poisson
process, with a pre-defined average time between two arriving packets. The Poisson process is
characterized with an exponential distribution of inter-arrival times. The packets have random sizes
the packet size should be calculated by the simulator at the packet arrival. The packet size should be
considered a random variable with exponential distribution. In the case the packet has arrived and
cannot be immediately served, it has to wait for the first available opportunity to be served. The packet
size determines the service time duration.