This article explains the functions of the check_afp process (occasionally called afp_check) that runs on each Macintosh client.
Some of the the functions check_afp provides include:
- Keeps the local AFP client in sync with the AFP Server when another client updates items on that same server. For example, assume that Macintosh user A and B are both looking at "Test Folder". If B changes something in "Test Folder", then B's AFP client will know that something has changed in that folder because it was the client that made the change. But, A will not know something has changed in folder A because it did not actually make the change. The AFP server will send out a change notification to Macintosh A and the check_afp will process it and then update so that it will also know that something has changed in "Test Folder". A visible result of this automatic update is Finder's ability to update a window with new contents even if it is a background window. It does not matter how B changed the item on the server, B could have been using AFP, SMB, or even ssh'd into the server to make the change. This particular function of check_afp is the most important since large publishing companies rely on this behavior for their workflows. Typically one group will have an "In" folder that they will have open on their screen in Finder. They will be doing other things and when that "In" folder suddenly shows new contents, then that tells them they have new work to do. In the past, some large publishing companies have refused to update to a particular OS because this functionality was broken.
- Refreshes the reconnect authentication credential on a periodic basis. For AFP Reconnect, there is a stored credential that allows the AFP client to re authenticate back into the AFP server without having to store a username and password in the AFP client. This credential expires after a set amount of time. Before it expires, check_afp handles renewing this credential.
- Handles displaying server messages. Messages like "This server is shutting down in 10 minutes, please log off now", or any other messages that are sent by the server are handled by check_afp.
Thanks to Apple for explaining the many roles of check_afp.