I am trying to clear up concept here. This is regarding shaper using Token bucket algorithm.
Let’s assume that the bucket depth is 1500 bytes. And assume that the data rate is 2Bps (very slow one). This means that unless the bucket doesn't have tokens unlike leaky bucket, the data will not be transmitted. This implies that there will be a delay/drop in the packet transmission. If so, then don’t you think that this will add congestion in the traffic? Imagine, a synchronous communication, where the receiver will time out and ask for re-transmission. Thus, there will be a lot of packets in the network. So, don’t you think that leaky bucket is better than token bucket? At least you don’t have a possibility of duplicate packets in leaky bucket. Only disadvantage of leaky bucket is that it will transmit the data always with a constant bit rate. So, it will throttle the bit rate to a lower value even when the source is sending at a higher bit rate.