* Abstractions
:PROPERTIES:
:CUSTOM_ID: abstractions
:END:
| [[file:Installation.md][◀ Previous]] | [[file:Implementation.md][Next ▶]] |
|--------------------------------------+------------------------------------|

The Abstractions package consists of black-boxed functions for P2PRC.

** Functions
:PROPERTIES:
:CUSTOM_ID: functions
:END:
- =Init(<Project name>)=: Initializes P2PRC with all the needed
  configurations.
- =Start()=: Starts p2prc as a server and makes it possible to extend by
  adding other routes and functionality to P2PRC.
- =MapPort(<port no>)=: On the local machine the port you want to export
  to world.
- =StartContainer(<ip address>)=: The machine on the p2p network where
  you want to spin up a docker container.
- =RemoveContainer(<ip address>,<container id>)=: Terminate container
  based on the IP address and container name.
- =GetSpecs(<ip address>)=: Get specs of a machine on the network based
  on the IP address.
- =ViewIPTable()=: View the IP table which about nodes in the network.
- =UpdateIPTable()=: Force update IP table to learn about new nodes
  faster.

--------------

*** Next Chapter: [[file:Implementation.org][Implementation]]
:PROPERTIES:
:CUSTOM_ID: next-chapter-implementation
:END:
