indexing
	description: "Objects that handle exceptions within applications"
	author: "Neal L. Lester (neal@3dsafety.com)"
	date: "$Date$"
	revision: "$Revision$"
	copyright: "(c) 2007 Neal L. Lester and others"

class
	GOA_APPLICATION_EXCEPTION_HANDLING

inherit

	KL_SHARED_EXCEPTIONS

feature

	broken_pipe_exception_message: STRING is "Broken pipe"
		-- Possibly Linux only; Not known if this is the same on Windows
		-- See TODO for broken_pipe_error

	connection_reset_by_peer_message: STRING is "Connection reset by peer"
		-- Possibly Linux only; Not known if this is the same on Windows

	broken_pipe_error: INTEGER is 32
		-- Currently not used
		-- Linux Only; probably 10054 on Windows
		-- TODO Change this to refer to the platform
		-- independent EPOSIX constant, once one is added to
		-- EPOSIX.  At that time, verify that
		-- STDC_BASE.raise_posix_error correctly sets
		-- STDC_BASE.errno.first_value
		-- Also see fixes required (then) for rescue
		-- clauses of accept and process_request
		-- I have one lingering question about using
		-- broken pipe error instead of the exception message
		-- If errno.first_value is not 0 when the broken pipe
		-- exception occurs then the rescue clause will not
		-- catch and retry, and the program will crash.
		-- However, relying on the text of the message seems
		-- less reliable then using the error codes


end