Automatic generation produced by ISE Eiffel
note description: "Data resources" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2020-05-19 06:40:37 -0800 (Tue, 19 May 2020) $" revision: "$Revision: 104267 $" deferred class interface DATA_RESOURCE feature -- Access address: URL -- Associated address generating_type: TYPE [detachable DATA_RESOURCE] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty hash_code: INTEGER_32 -- Hash function ensure -- from HASHABLE good_hash_value: Result >= 0 last_packet: detachable STRING_8 -- Last packet read location: STRING_8 -- Location of resource require address_exists: address /= Void mode: INTEGER_32 -- Current mode port: INTEGER_32 -- Port used by service ensure result_non_negative: Result >= 0 proxy_host: STRING_8 -- Name or address of proxy host require proxy_supported: is_proxy_supported proxy_used: is_proxy_used ensure result_not_empty: Result /= Void and then not Result.is_empty proxy_port: INTEGER_32 -- Port of proxy require proxy_supported: is_proxy_supported proxy_used: is_proxy_used ensure result_non_negative: Result >= 0 service: STRING_8 -- Name of service feature -- Measurement bytes_transferred: INTEGER_32 -- Number of transferred bytes count: INTEGER_32 -- Size of data resource last_packet_size: INTEGER_32 -- Size of last packet read_buffer_size: INTEGER_32 -- Size of read buffer feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: DATA_RESOURCE): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: like Current): BOOLEAN -- Is resource equal to other? require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "≜" (other: DATA_RESOURCE): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report address_exists: BOOLEAN -- Does address exists? conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void error: BOOLEAN -- Has an error occurred? error_code: INTEGER_32 -- Code of error error_text (code: INTEGER_32): STRING_8 -- Textual description of error -- (from DATA_RESOURCE_ERROR_CONSTANTS) require -- from DATA_RESOURCE_ERROR_CONSTANTS positive_code: code > 0 has_packet: BOOLEAN -- Is there a packet available in `last_packet`? is_count_valid: BOOLEAN -- Is value in `count` valid? is_hashable: BOOLEAN -- Are objects of current type hashable? is_mode_set: BOOLEAN -- Has resource mode been set? is_open: BOOLEAN -- Is resource open? is_packet_pending: BOOLEAN -- Can another packet currently be read out? is_proxy_supported: BOOLEAN -- Is proxy supported by resource? is_proxy_used: BOOLEAN -- Does resource use a proxy? is_readable: BOOLEAN -- Is it possible to open in read mode currently? ensure mode_unchanged: mode = old mode is_writable: BOOLEAN -- Is it possible to open in write mode currently? ensure mode_unchanged: mode = old mode read_mode: BOOLEAN -- Is read mode set? same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) supports_multiple_transactions: BOOLEAN -- Does resource support multiple tranactions per connection? transfer_initiated: BOOLEAN -- Has transfer being initiated. valid_mode (n: INTEGER_32): BOOLEAN -- Is mode n valid? write_mode: BOOLEAN -- Is write mode set? feature -- Status setting close -- Close. require open: is_open ensure closed: not is_open mode_unchanged: mode = old mode no_packet_available: not (has_packet and is_packet_pending) initiate_transfer -- Initiate transfer. require no_error_occurred: not error mode_set: is_mode_set open: is_open not_initiated: not transfer_initiated ensure failure_means_error: not transfer_initiated implies error open -- Open resource. require no_error_occurred: not error mode_set: is_mode_set ensure no_packet_available: not (has_packet and is_packet_pending) initiated_flag_reset: not transfer_initiated failure_means_error: not is_open implies error reset_error -- Reset error. ensure error_reset: not error reset_proxy -- Reset proxy information. ensure proxy_reset: not address.is_proxy_used reuse_connection (other: DATA_RESOURCE) -- Reuse connection of other. require other_exists: other /= Void same_type: same_type (other) supports_multiple_transactions: supports_multiple_transactions and other.supports_multiple_transactions other_opened: other.is_open set_connect_timeout (n: like connect_timeout) -- Set connection timeout to n. require non_negative: n >= 0 ensure connect_timeout_set: connect_timeout = n set_password (pw: STRING_8) -- Set password to pw. require password_accepted: address.is_password_accepted non_empty_password: pw /= Void and then not pw.is_empty set_port (port_no: INTEGER_32) -- Set port number to port_no. require closed: not is_open non_negative_port_number: port_no >= 0 ensure port_set: port = port_no set_proxy (host: STRING_8; port_no: INTEGER_32) -- Set proxy host to host and port to port_no. require proxy_supported: is_proxy_supported closed: not is_open non_empty_host: host /= Void and then not host.is_empty host_ok: address.proxy_host_ok (host) non_negative_port: port_no >= 0 ensure proxy_set: address.is_proxy_used set_proxy_information (pi: PROXY_INFORMATION) -- Set proxy information to pi. require proxy_supported: is_proxy_supported ensure proxy_set: address.is_proxy_used set_read_buffer_size (n: INTEGER_32) -- Set size of read buffer. require size_positive: n > 0 ensure buffer_size_set: read_buffer_size = n set_read_mode -- Set read mode. ensure read_mode_set: read_mode set_timeout (n: like timeout) -- Set timeout to n seconds. require non_negative: n >= 0 ensure timeout_set: timeout_ns = {SOCKET_TIMEOUT_UTILITIES}.seconds_to_nanoseconds (n) set_timeout_ns (a_timeout_nanoseconds: NATURAL_64) -- Set timeout with to a_timeout_nanoseconds nanoseconds. -- Warning: the timeout granularity of the platform may not be nanoseconds, but micro or milliseconds. require is_valid_timeout_ns: {SOCKET_TIMEOUT_UTILITIES}.is_valid_timeout_ns (a_timeout_nanoseconds) ensure timeout_ns_set: timeout_ns = a_timeout_nanoseconds set_username (un: STRING_8) -- Set username to un. require username_accepted: address.has_username non_empty_username: un /= Void and then not un.is_empty set_write_mode -- Set write mode. ensure write_mode_set: write_mode feature -- Removal dispose -- Clean up resource. feature -- Duplication copy (other: DATA_RESOURCE) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: DATA_RESOURCE) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: DATA_RESOURCE -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: DATA_RESOURCE) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: DATA_RESOURCE -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: DATA_RESOURCE -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable DATA_RESOURCE -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Access: timeout connect_timeout: INTEGER_32 -- The connect timeout in milliseconds timeout_ns: NATURAL_64 -- Duration of timeout in nanoseconds. feature -- Input read -- Read packet. require no_error_occurred: not error open: is_open transfer_initated: transfer_initiated readable: is_readable positive_read_buffer_size: read_buffer_size > 0 packet_pending: is_packet_pending ensure packet_received: is_packet_pending implies last_packet_size > 0 counter_correct: not error implies bytes_transferred = old bytes_transferred + last_packet_size feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class put (other: DATA_RESOURCE) -- Write out resource other. require no_error_occurred: not (error and other.error) other_resource_exists: other /= Void resources_open: is_open and other.is_open writable: is_writable transfer_initated: transfer_initiated frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void invariant address_assigned: address /= Void packet_constraint: not (has_packet xor last_packet /= Void) pending_constraint: is_packet_pending implies (is_open and is_readable and transfer_initiated) error_definition: error = (error_code /= 0) valid_count_constraint: count > 0 implies is_count_valid mode_constraint: is_mode_set = read_mode xor write_mode -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note copyright: "Copyright (c) 1984-2020, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class DATA_RESOURCE -- Generated by Eiffel Studio --
For more details: eiffel.org