Prototype 2: Messaging

This is the second proof-of-concept prototype for the OpenBeOS app_server. This demonstrates the use of the PortLink class to send messages quickly and how the server manages processes under normal circumstances (ie, not killing a team). Listed at the end of this file is the sequence of events for a particular task, utilizing only 3 types of components: the Server class, ServerApp application-monitoring nodes, and the application itself. All 3 have been built for R5. Although not formally documented, the code is relatively clean and mostly commented.

Files Included

OBAppServer:	the actual server
OBApp:		a skeleton of what's supposed to be an app. Implemented only for testing purposes but some concepts may eventually make their way into the real OBOS BApplication class
OBHey:		Quick-and-dirty app which sends a message code (in decimal) to a specified port. For the sake of reference, B_QUIT_REQUESTED=1599165009.

Application launch:
1) App constructor
2) App->server CREATE_APP
3) Server spawns ServerApp
4) ServerApp->App SET_PORT
5) App reinitializes serverlink to SET_PORT port

Application quit (from app side):
1) ->App B_QUIT_REQUESTED
2) App -> ServerApp B_QUIT_REQUESTED and quits
3) ServerApp -> Server DELETE_APP and quits
4) Server removes ServerApp from list and deletes object

App Server quit:
1) Right now: Server->all ServerApps (QUIT_APP)
	Eventually: Server->Registrar(BROADCAST_QUIT)
1a) Right now: ServerApps->Apps(B_QUIT_REQUESTED)
2) Server sets internal flag quitting_server to true
3) When server receives DELETE_APP, checks to see if any ServerApps are left.
4) If no ServerApps are left after deleting the sender of the delete_app message, server checks to see if quitting_server is set to true
5) Server exits