class SIMPLE_BACKGROUND_JOB

All features

Describe job to be executed in the background, when there nothing more important to do. Such job is ready to run at any time.

Direct parents

conformant parents

BACKGROUND_JOB

Summary

creation features

exported features

Maximum:

Minimum:

Bits:

Details

set_work (t: FUNCTION [O_ -> TUPLE, R_][TUPLEBOOLEAN], tr: PROCEDURE [O_ -> TUPLE][TUPLE], prio: INTEGER)

t has to return True while continue

require

  • t /= Void
  • prio /= Minimum_integer

ensure

  • priority = prio

set_work (t: FUNCTION [O_ -> TUPLE, R_][TUPLEBOOLEAN], tr: PROCEDURE [O_ -> TUPLE][TUPLE], prio: INTEGER)

t has to return True while continue

require

  • t /= Void
  • prio /= Minimum_integer

ensure

  • priority = prio

done: BOOLEAN

done returns True when the job is finished. Then the job may be restart(ed) if it need to run again.

continue

Continue to do the job The work to do has to be small work and non blocking, it will continue on next call

restart

Configure the job like the initial state. Example: when some window dialog appears second time, all jobs from this window are restarted.

require

  • done

ensure

  • not done

task: FUNCTION [O_ -> TUPLE, R_][TUPLEBOOLEAN]
task_restart: PROCEDURE [O_ -> TUPLE][TUPLE]
prepare (ready: READY_DESCRIPTION)

use ready to descibe condition that make this job ready to continue.

require

  • ready /= Void
  • not ready.queryable

is_ready (ready: READY_DESCRIPTION): BOOLEAN

check if this job is ready to continue his work

require

  • ready /= Void
  • ready.queryable

priority: INTEGER

Never change priority after job inserted in loop_item. Priority should only be set at creation time.

< (other: JOB): BOOLEAN
Maximum_character_code: INTEGER_16

Largest supported code for CHARACTER values.

ensure

  • meaningful: Result >= 127

Maximum_integer_8: INTEGER_8

Largest supported value of type INTEGER_8.

Maximum_integer_16: INTEGER_16

Largest supported value of type INTEGER_16.

Maximum_integer: INTEGER

Largest supported value of type INTEGER/INTEGER_32.

Maximum_integer_32: INTEGER

Largest supported value of type INTEGER/INTEGER_32.

Maximum_integer_64: INTEGER_64

Largest supported value of type INTEGER_64.

Maximum_real_32: REAL_32

Largest non-special (no NaNs nor infinity) supported value of type REAL_32.

Maximum_real: REAL

Largest non-special (no NaNs nor infinity) supported value of type REAL. Just to give an idea of this value: 1.79769313486231570....e+308

Maximum_real_64: REAL

Largest non-special (no NaNs nor infinity) supported value of type REAL. Just to give an idea of this value: 1.79769313486231570....e+308

Maximum_real_80: REAL_EXTENDED

Largest supported value of type REAL_80.

ensure

  • meaningful: Result >= Maximum_real

Minimum_character_code: INTEGER_16

Smallest supported code for CHARACTER values.

ensure

  • meaningful: Result <= 0

Minimum_integer_8: INTEGER_8

Smallest supported value of type INTEGER_8.

Minimum_integer_16: INTEGER_16

Smallest supported value of type INTEGER_16.

Minimum_integer: INTEGER

Smallest supported value of type INTEGER/INTEGER_32.

Minimum_integer_32: INTEGER

Smallest supported value of type INTEGER/INTEGER_32.

Minimum_integer_64: INTEGER_64

Smallest supported value of type INTEGER_64.

Minimum_real_32: REAL_32

Smallest non-special (no NaNs nor infinity) supported value of type REAL_32.

Minimum_real: REAL

Smallest non-special (no NaNs nor infinity) supported value of type REAL. Just to give an idea of this value: -1.79769313486231570....e+308

Minimum_real_64: REAL

Smallest non-special (no NaNs nor infinity) supported value of type REAL. Just to give an idea of this value: -1.79769313486231570....e+308

Minimum_real_80: REAL

Smallest supported value of type REAL_80.

ensure

  • meaningful: Result <= 0.0

Boolean_bits: INTEGER

Number of bits in a value of type BOOLEAN.

ensure

  • meaningful: Result >= 1

Character_bits: INTEGER

Number of bits in a value of type CHARACTER.

ensure

  • meaningful: Result >= 1
  • large_enough: 2.to_integer ^ Result >= Maximum_character_code

Integer_bits: INTEGER

Number of bits in a value of type INTEGER.

ensure

  • integer_definition: Result = 32

Real_bits: INTEGER

Number of bits in a value of type REAL.

Pointer_bits: INTEGER

Number of bits in a value of type POINTER.

Class invariant