# Point-to-Point Proportional Duty-Cycle Control Method (PPPDCCM)
or Point-to-Point Proportional Time-Slot Allocation Control Method (PPPTSACM)
A simple yet effective time slot allocation method for half-duplex point-to-point communication channel.
## Required data in the packet/frames:
| Data Type | Shorthand | Actual Name |
|:--------- | ---------- | ----------------------- |
| Integer | my_share | My share of bandwidth |
| Integer | your_share | Your share of bandwidth |
Both of them must be greater than or equal to 1, otherwise it’s invalid. Optionally use 0 as indicator of OOB frames.
Bandwidth share could be scaled TX buffer usage or to be determined by other means.
## How it works:
Let Alice and Bob be the two nodes that are going to have communication.
When Alice is ready to send data, Alice calculate the available duty-cycle with `1 - Bob[my_share] / Bob[your_share]`.
When Bob is ready to send data, Bob calculate the available duty-cycle with `1 - Alice[my_share] / Alice[your_share]`.
When one of them received a packet/frame from the other party, they will store the received value of `my_share` into local `your_share` variable.