weel 1.99.98 → 1.99.99

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9e82bd07a1a46e7456badf0f68f51b61ce8185c4292590e2c3113e3dcef9b23b
4
- data.tar.gz: a8e5dc3301a874267a5742395816501d778c2b7ccd934590c55e28410c34994e
3
+ metadata.gz: b6d41da4a64d101b885ac475da4625fff4bb4098b9430563f3fc950f7804517e
4
+ data.tar.gz: b0714d35fa2e112b63b31e19699814607b66545eb60614d834e852d308d1ce7b
5
5
  SHA512:
6
- metadata.gz: 8b37432797796439fcff05c476d09f1c3f7ee388f01a83e593c9db8fcb7bc57f413f5809f0a48c31b2ba04f146928ec236a87e6e5e1ca78a487c7eccbfcb82a2
7
- data.tar.gz: be8e00b7a57362406dfd61d9c84d53ad2451f7219c535c0a2e4562eedd527dba6ca50c32a735e8d898e959eeb6ac9e120ab9e6507f476dfebe9e96cbaa22d60f
6
+ metadata.gz: 9d79e7d56585b62912f638066fb4fee0e9a71786c10ea638819ff04189df8d335282d140d7b28734abd92e18eb8078c761e9b9e3b16666166afafcfd0c631acc
7
+ data.tar.gz: b3d67a26a4016f7711273025427da307fe989f82319221ee07a1617eefe8f0bd2e04c845acee55d1e3a84619064a31744d53cf2a43344ed09c8568ef57f6a5c3
data/lib/weel.rb CHANGED
@@ -20,13 +20,14 @@ require 'securerandom'
20
20
  class WEEL
21
21
  def initialize(*args)# {{{
22
22
  @dslr = DSLRealization.new
23
- @dslr.__weel_handlerwrapper_args = args
23
+ @dslr.__weel_connectionwrapper_args = args
24
24
 
25
25
  initialize_search if methods.include?(:initialize_search)
26
26
  initialize_data if methods.include?(:initialize_data)
27
27
  initialize_endpoints if methods.include?(:initialize_endpoints)
28
- initialize_handlerwrapper if methods.include?(:initialize_handlerwrapper)
28
+ initialize_connectionwrapper if methods.include?(:initialize_connectionwrapper)
29
29
  initialize_control if methods.include?(:initialize_control)
30
+ initialize_flow_data if methods.include?(:initialize_flow_data)
30
31
  end # }}}
31
32
 
32
33
  module Signal # {{{
@@ -237,11 +238,11 @@ class WEEL
237
238
  end
238
239
  end # }}}
239
240
 
240
- class HandlerWrapperBase # {{{
241
+ class ConnectionWrapperBase # {{{
241
242
  def self::loop_guard(arguments,lid,count); false; end
242
243
  def self::inform_state_change(arguments,newstate); end
243
244
  def self::inform_syntax_error(arguments,err,code); end
244
- def self::inform_handlerwrapper_error(arguments,err); end
245
+ def self::inform_connectionwrapper_error(arguments,err); end
245
246
  def self::inform_position_change(arguments,ipc={}); end
246
247
 
247
248
  def initialize(arguments,position=nil,continue=nil); end
@@ -353,19 +354,21 @@ class WEEL
353
354
  end
354
355
  end
355
356
  end # }}}
356
- def self::handlerwrapper(aClassname, *args)# {{{
357
- define_method :initialize_handlerwrapper do
358
- self.handlerwrapper = aClassname
359
- self.handlerwrapper_args = args unless args.empty?
357
+ def self::connectionwrapper(aClassname, *args)# {{{
358
+ define_method :initialize_connectionwrapper do
359
+ self.connectionwrapper = aClassname
360
+ self.connectionwrapper_args = args unless args.empty?
360
361
  end
361
362
  end # }}}
362
363
  def self::control(flow, &block)# {{{
363
- @@__weel_control_block = block
364
364
  define_method :initialize_control do
365
- self.description = @@__weel_control_block
365
+ self.description = block
366
366
  end
367
367
  end # }}}
368
- def self::flow # {{{
368
+ def self::flow(flow_data=nil) # {{{
369
+ define_method :initialize_flow_data do
370
+ self.flow_data = flow_data
371
+ end if flow_data
369
372
  end #}}}
370
373
 
371
374
  class DSLRealization # {{{
@@ -375,14 +378,14 @@ class WEEL
375
378
  @__weel_main = nil
376
379
  @__weel_data ||= Hash.new
377
380
  @__weel_endpoints ||= Hash.new
378
- @__weel_handlerwrapper = HandlerWrapperBase
379
- @__weel_handlerwrapper_args = []
381
+ @__weel_connectionwrapper = ConnectionWrapperBase
382
+ @__weel_connectionwrapper_args = []
380
383
  @__weel_state = :ready
381
384
  @__weel_status = Status.new(0,"undefined")
382
385
  @__weel_replay = false
383
386
  @__weel_sim = -1
384
387
  end #}}}
385
- attr_accessor :__weel_search_positions, :__weel_positions, :__weel_main, :__weel_data, :__weel_endpoints, :__weel_handlerwrapper, :__weel_handlerwrapper_args, :__weel_replay
388
+ attr_accessor :__weel_search_positions, :__weel_positions, :__weel_main, :__weel_data, :__weel_endpoints, :__weel_connectionwrapper, :__weel_connectionwrapper_args, :__weel_replay
386
389
  attr_reader :__weel_state, :__weel_status
387
390
 
388
391
  # DSL-Constructs for atomic calls to external services (calls) and pure context manipulations (manipulate).
@@ -483,15 +486,15 @@ class WEEL
483
486
  Thread.current[:start_event].wait unless self.__weel_state == :stopping || self.__weel_state == :stopped || self.__weel_state == :finishing
484
487
 
485
488
  if __weel_sim
486
- handlerwrapper = @__weel_handlerwrapper.new @__weel_handlerwrapper_args
487
- handlerwrapper.simulate(:parallel_branch,:start,Thread.current[:branch_sim_pos],current_branch_sim_pos)
489
+ connectionwrapper = @__weel_connectionwrapper.new @__weel_connectionwrapper_args
490
+ connectionwrapper.simulate(:parallel_branch,:start,Thread.current[:branch_sim_pos],current_branch_sim_pos)
488
491
  end
489
492
 
490
493
  unless self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped || Thread.current[:nolongernecessary]
491
494
  __weel_protect_yield(*local, &block)
492
495
  end
493
496
 
494
- __weel_sim_stop(:parallel_branch,handlerwrapper,current_branch_sim_pos) if __weel_sim
497
+ __weel_sim_stop(:parallel_branch,connectionwrapper,current_branch_sim_pos) if __weel_sim
495
498
 
496
499
  branch_parent[:mutex].synchronize do
497
500
  Thread.current[:branch_status] = true
@@ -506,7 +509,7 @@ class WEEL
506
509
  begin
507
510
  ipc = {}
508
511
  ipc[:unmark] = [Thread.current[:branch_position]]
509
- @__weel_handlerwrapper::inform_position_change(@__weel_handlerwrapper_args,ipc)
512
+ @__weel_connectionwrapper::inform_position_change(@__weel_connectionwrapper_args,ipc)
510
513
  end rescue nil
511
514
  Thread.current[:branch_position] = nil
512
515
  end
@@ -604,13 +607,13 @@ class WEEL
604
607
  while __weel_eval_condition(condition[0]) && self.__weel_state != :stopping && self.__weel_state != :stopped && self.__weel_state != :finishing
605
608
  loop_guard += 1
606
609
  __weel_protect_yield(&block)
607
- sleep 1 if @__weel_handlerwrapper::loop_guard(@__weel_handlerwrapper_args,loop_id,loop_guard)
610
+ sleep 1 if @__weel_connectionwrapper::loop_guard(@__weel_connectionwrapper_args,loop_id,loop_guard)
608
611
  end
609
612
  when :post_test
610
613
  begin
611
614
  loop_guard += 1
612
615
  __weel_protect_yield(&block)
613
- sleep 1 if @__weel_handlerwrapper::loop_guard(@__weel_handlerwrapper_args,loop_id,loop_guard)
616
+ sleep 1 if @__weel_connectionwrapper::loop_guard(@__weel_connectionwrapper_args,loop_id,loop_guard)
614
617
  end while __weel_eval_condition(condition[0]) && self.__weel_state != :stopping && self.__weel_state != :stopped && self.__weel_state != :finishing
615
618
  end
616
619
  end
@@ -660,27 +663,27 @@ class WEEL
660
663
  yield(*local) if block_given?
661
664
  rescue NameError => err # don't look into it, or it will explode
662
665
  self.__weel_state = :stopping
663
- @__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new("protect_yield: `#{err.name}` is not a thing that can be used. Maybe it is meant to be a string and you forgot quotes?"),nil)
666
+ @__weel_connectionwrapper::inform_syntax_error(@__weel_connectionwrapper_args,Exception.new("protect_yield: `#{err.name}` is not a thing that can be used. Maybe it is meant to be a string and you forgot quotes?"),nil)
664
667
  nil
665
668
  rescue => err
666
669
  self.__weel_state = :stopping
667
- @__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new(err.message),nil)
670
+ @__weel_connectionwrapper::inform_syntax_error(@__weel_connectionwrapper_args,Exception.new(err.message),nil)
668
671
  nil
669
672
  end
670
673
  end #}}}
671
674
 
672
675
  def __weel_eval_condition(condition) #{{{
673
676
  begin
674
- handlerwrapper = @__weel_handlerwrapper.new @__weel_handlerwrapper_args unless condition.is_a?(Proc)
675
- condition.is_a?(Proc) ? condition.call : handlerwrapper.test_condition(ReadStructure.new(@__weel_data,@__weel_endpoints,handlerwrapper.additional),condition)
677
+ connectionwrapper = @__weel_connectionwrapper.new @__weel_connectionwrapper_args unless condition.is_a?(Proc)
678
+ condition.is_a?(Proc) ? condition.call : connectionwrapper.test_condition(ReadStructure.new(@__weel_data,@__weel_endpoints,connectionwrapper.additional),condition)
676
679
  rescue NameError => err # don't look into it, or it will explode
677
680
  # if you access $! here, BOOOM
678
681
  self.__weel_state = :stopping
679
- @__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new("eval_condition: `#{err.name}` is not a thing that can be used. Maybe it is meant to be a string and you forgot quotes?"),nil)
682
+ @__weel_connectionwrapper::inform_syntax_error(@__weel_connectionwrapper_args,Exception.new("eval_condition: `#{err.name}` is not a thing that can be used. Maybe it is meant to be a string and you forgot quotes?"),nil)
680
683
  nil
681
684
  rescue => err
682
685
  self.__weel_state = :stopping
683
- @__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new(err.message),nil)
686
+ @__weel_connectionwrapper::inform_syntax_error(@__weel_connectionwrapper_args,Exception.new(err.message),nil)
684
687
  nil
685
688
  end
686
689
  end #}}}
@@ -718,7 +721,7 @@ class WEEL
718
721
  @__weel_positions << wp
719
722
  Thread.current[:branch_position] = wp
720
723
 
721
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, ipc
724
+ @__weel_connectionwrapper::inform_position_change @__weel_connectionwrapper_args, ipc
722
725
  wp
723
726
  end #}}}
724
727
 
@@ -730,10 +733,10 @@ class WEEL
730
733
  return if self.__weel_state == :stopping || self.__weel_state == :finishing || self.__weel_state == :stopped || Thread.current[:nolongernecessary]
731
734
 
732
735
  Thread.current[:continue] = Continue.new
733
- handlerwrapper = @__weel_handlerwrapper.new @__weel_handlerwrapper_args, position, Thread.current[:continue]
736
+ connectionwrapper = @__weel_connectionwrapper.new @__weel_connectionwrapper_args, position, Thread.current[:continue]
734
737
 
735
738
  if __weel_sim
736
- handlerwrapper.simulate(:activity,:none,@__weel_sim += 1,Thread.current[:branch_sim_pos],:position => position,:parameters => parameters,:endpoint => endpoint,:type => type,:finalize => finalize.is_a?(String) ? finalize : nil)
739
+ connectionwrapper.simulate(:activity,:none,@__weel_sim += 1,Thread.current[:branch_sim_pos],:position => position,:parameters => parameters,:endpoint => endpoint,:type => type,:finalize => finalize.is_a?(String) ? finalize : nil)
737
740
  return
738
741
  end
739
742
 
@@ -744,35 +747,35 @@ class WEEL
744
747
 
745
748
  case type
746
749
  when :manipulate
747
- raise Signal::Stop unless handlerwrapper.vote_sync_before
750
+ raise Signal::Stop unless connectionwrapper.vote_sync_before
748
751
  raise Signal::Skip if self.__weel_state == :stopping || self.__weel_state == :finishing
749
752
 
750
753
  if finalize.is_a?(Proc) || finalize.is_a?(String)
751
- handlerwrapper.activity_manipulate_handle(parameters)
752
- handlerwrapper.inform_activity_manipulate
754
+ connectionwrapper.activity_manipulate_handle(parameters)
755
+ connectionwrapper.inform_activity_manipulate
753
756
  if finalize.is_a?(Proc)
754
- mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,handlerwrapper.additional)
757
+ mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,connectionwrapper.additional)
755
758
  mr.instance_eval(&finalize)
756
759
  elsif finalize.is_a?(String)
757
- mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,handlerwrapper.additional)
758
- handlerwrapper.manipulate(mr,finalize)
760
+ mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,connectionwrapper.additional)
761
+ connectionwrapper.manipulate(mr,finalize)
759
762
  end
760
- handlerwrapper.inform_manipulate_change(
763
+ connectionwrapper.inform_manipulate_change(
761
764
  ((mr && mr.changed_status) ? @__weel_status : nil),
762
765
  ((mr && mr.changed_data.any?) ? mr.changed_data.uniq : nil),
763
766
  ((mr && mr.changed_endpoints.any?) ? mr.changed_endpoints.uniq : nil),
764
767
  @__weel_data,
765
768
  @__weel_endpoints
766
769
  )
767
- handlerwrapper.inform_activity_done
770
+ connectionwrapper.inform_activity_done
768
771
  wp.detail = :after
769
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :after => [wp]
772
+ @__weel_connectionwrapper::inform_position_change @__weel_connectionwrapper_args, :after => [wp]
770
773
  end
771
774
  when :call
772
775
  begin
773
776
  again = catch Signal::Again do
774
- handlerwrapper.mem_guard
775
- rs = ReadStructure.new(@__weel_data,@__weel_endpoints,handlerwrapper.additional)
777
+ connectionwrapper.mem_guard
778
+ rs = ReadStructure.new(@__weel_data,@__weel_endpoints,connectionwrapper.additional)
776
779
  if prepare
777
780
  if prepare.is_a?(Proc)
778
781
  rs.instance_exec(&prepare)
@@ -780,14 +783,14 @@ class WEEL
780
783
  rs.instance_eval prepare
781
784
  end
782
785
  end
783
- params = handlerwrapper.prepare(rs,endpoint,parameters,@__weel_replay)
784
- raise Signal::Stop unless handlerwrapper.vote_sync_before(params)
786
+ params = connectionwrapper.prepare(rs,endpoint,parameters,@__weel_replay)
787
+ raise Signal::Stop unless connectionwrapper.vote_sync_before(params)
785
788
  raise Signal::Skip if self.__weel_state == :stopping || self.__weel_state == :finishing
786
789
 
787
- handlerwrapper.activity_handle wp.passthrough, params
788
- wp.passthrough = handlerwrapper.activity_passthrough_value
790
+ connectionwrapper.activity_handle wp.passthrough, params
791
+ wp.passthrough = connectionwrapper.activity_passthrough_value
789
792
  unless wp.passthrough.nil?
790
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :wait => [wp]
793
+ @__weel_connectionwrapper::inform_position_change @__weel_connectionwrapper_args, :wait => [wp]
791
794
  end
792
795
  begin
793
796
  # with loop if catching Signal::Again
@@ -797,12 +800,12 @@ class WEEL
797
800
  raise waitingresult[1] if !waitingresult.nil? && waitingresult.is_a?(Array) && waitingresult.length == 2 && waitingresult[0] == WEEL::Signal::Error
798
801
 
799
802
  if Thread.current[:nolongernecessary]
800
- handlerwrapper.activity_no_longer_necessary
803
+ connectionwrapper.activity_no_longer_necessary
801
804
  raise Signal::NoLongerNecessary
802
805
  end
803
806
  if self.__weel_state == :stopping || self.__weel_state == :finishing
804
- handlerwrapper.activity_stop
805
- wp.passthrough = handlerwrapper.activity_passthrough_value
807
+ connectionwrapper.activity_stop
808
+ wp.passthrough = connectionwrapper.activity_passthrough_value
806
809
  raise Signal::Proceed if wp.passthrough # if stop, but no passthrough, let manipulate happen and then stop
807
810
  end
808
811
 
@@ -814,26 +817,26 @@ class WEEL
814
817
  finalize
815
818
  end
816
819
  if code.is_a?(Proc) || code.is_a?(String)
817
- handlerwrapper.inform_activity_manipulate
820
+ connectionwrapper.inform_activity_manipulate
818
821
  if code.is_a?(Proc)
819
- mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,handlerwrapper.additional)
822
+ mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,connectionwrapper.additional)
820
823
  ma = catch Signal::Again do
821
824
  case code.arity
822
- when 1; mr.instance_exec(handlerwrapper.activity_result_value,&code)
823
- when 2; mr.instance_exec(handlerwrapper.activity_result_value,&code)
825
+ when 1; mr.instance_exec(connectionwrapper.activity_result_value,&code)
826
+ when 2; mr.instance_exec(connectionwrapper.activity_result_value,&code)
824
827
  else
825
828
  mr.instance_exec(&code)
826
829
  end
827
830
  'yes' # ma sadly will have nil when i just throw
828
831
  end
829
832
  elsif code.is_a?(String)
830
- mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,handlerwrapper.additional)
833
+ mr = ManipulateStructure.new(@__weel_data,@__weel_endpoints,@__weel_status,connectionwrapper.additional)
831
834
  ma = catch Signal::Again do
832
- handlerwrapper.manipulate(mr,code,handlerwrapper.activity_result_value,handlerwrapper.activity_result_options)
835
+ connectionwrapper.manipulate(mr,code,connectionwrapper.activity_result_value,connectionwrapper.activity_result_options)
833
836
  'yes' # ma sadly will have nil when i just throw
834
837
  end
835
838
  end
836
- handlerwrapper.inform_manipulate_change(
839
+ connectionwrapper.inform_manipulate_change(
837
840
  (mr.changed_status ? @__weel_status : nil),
838
841
  (mr.changed_data.any? ? mr.changed_data.uniq : nil),
839
842
  (mr.changed_endpoints.any? ? mr.changed_endpoints.uniq : nil),
@@ -843,18 +846,18 @@ class WEEL
843
846
  throw(Signal::Again, Signal::Again) if ma.nil?
844
847
  end
845
848
  end while waitingresult == Signal::Again
846
- if handlerwrapper.activity_passthrough_value.nil?
847
- handlerwrapper.inform_activity_done
849
+ if connectionwrapper.activity_passthrough_value.nil?
850
+ connectionwrapper.inform_activity_done
848
851
  wp.passthrough = nil
849
852
  wp.detail = :after
850
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :after => [wp]
853
+ @__weel_connectionwrapper::inform_position_change @__weel_connectionwrapper_args, :after => [wp]
851
854
  end
852
855
  end
853
856
  end while again == Signal::Again
854
857
  end
855
858
  raise Signal::Proceed
856
859
  rescue Signal::SkipManipulate, Signal::Proceed
857
- if self.__weel_state != :stopping && self.__weel_state != :finishing && !handlerwrapper.vote_sync_after
860
+ if self.__weel_state != :stopping && self.__weel_state != :finishing && !connectionwrapper.vote_sync_after
858
861
  self.__weel_state = :stopping
859
862
  wp.detail = :unmark
860
863
  end
@@ -862,19 +865,19 @@ class WEEL
862
865
  @__weel_positions.delete wp
863
866
  Thread.current[:branch_position] = nil
864
867
  wp.detail = :unmark
865
- @__weel_handlerwrapper::inform_position_change @__weel_handlerwrapper_args, :unmark => [wp]
868
+ @__weel_connectionwrapper::inform_position_change @__weel_connectionwrapper_args, :unmark => [wp]
866
869
  rescue Signal::StopSkipManipulate, Signal::Stop
867
870
  self.__weel_state = :stopping
868
871
  rescue Signal::Skip
869
872
  nil
870
873
  rescue SyntaxError => se
871
- handlerwrapper.inform_activity_failed se
874
+ connectionwrapper.inform_activity_failed se
872
875
  self.__weel_state = :stopping
873
876
  rescue => err
874
- @__weel_handlerwrapper::inform_handlerwrapper_error @__weel_handlerwrapper_args, err
877
+ @__weel_connectionwrapper::inform_connectionwrapper_error @__weel_connectionwrapper_args, err
875
878
  self.__weel_state = :stopping
876
879
  ensure
877
- handlerwrapper.mem_guard unless handlerwrapper.nil?
880
+ connectionwrapper.mem_guard unless connectionwrapper.nil?
878
881
  if Thread.current[:branch_parent]
879
882
  Thread.current[:branch_parent][:mutex].synchronize do
880
883
  if Thread.current[:branch_parent][:branch_wait_count_cancel_condition] == :first
@@ -938,7 +941,7 @@ class WEEL
938
941
  position
939
942
  else
940
943
  self.__weel_state = :stopping
941
- @__weel_handlerwrapper::inform_syntax_error(@__weel_handlerwrapper_args,Exception.new("position (#{position}) not valid"),nil)
944
+ @__weel_connectionwrapper::inform_syntax_error(@__weel_connectionwrapper_args,Exception.new("position (#{position}) not valid"),nil)
942
945
  end
943
946
  end # }}}
944
947
 
@@ -967,13 +970,13 @@ class WEEL
967
970
  def __weel_sim_start(what,options={}) #{{{
968
971
  current_branch_sim_pos = Thread.current[:branch_sim_pos]
969
972
  Thread.current[:branch_sim_pos] = @__weel_sim += 1
970
- handlerwrapper = @__weel_handlerwrapper.new @__weel_handlerwrapper_args
971
- handlerwrapper.simulate(what,:start,Thread.current[:branch_sim_pos],current_branch_sim_pos,options)
972
- [handlerwrapper, current_branch_sim_pos]
973
+ connectionwrapper = @__weel_connectionwrapper.new @__weel_connectionwrapper_args
974
+ connectionwrapper.simulate(what,:start,Thread.current[:branch_sim_pos],current_branch_sim_pos,options)
975
+ [connectionwrapper, current_branch_sim_pos]
973
976
  end #}}}
974
977
 
975
- def __weel_sim_stop(what,handlerwrapper,current_branch_sim_pos,options={}) #{{{
976
- handlerwrapper.simulate(what,:end,Thread.current[:branch_sim_pos],current_branch_sim_pos,options)
978
+ def __weel_sim_stop(what,connectionwrapper,current_branch_sim_pos,options={}) #{{{
979
+ connectionwrapper.simulate(what,:end,Thread.current[:branch_sim_pos],current_branch_sim_pos,options)
977
980
  Thread.current[:branch_sim_pos] = current_branch_sim_pos
978
981
  end #}}}
979
982
 
@@ -981,7 +984,7 @@ class WEEL
981
984
  def __weel_finalize #{{{
982
985
  __weel_recursive_join(@__weel_main)
983
986
  @__weel_state = :stopped
984
- @__weel_handlerwrapper::inform_state_change @__weel_handlerwrapper_args, @__weel_state
987
+ @__weel_connectionwrapper::inform_state_change @__weel_connectionwrapper_args, @__weel_state
985
988
  end #}}}
986
989
 
987
990
  def __weel_state=(newState)# {{{
@@ -996,7 +999,7 @@ class WEEL
996
999
  __weel_replay = false
997
1000
  end
998
1001
 
999
- @__weel_handlerwrapper::inform_state_change @__weel_handlerwrapper_args, @__weel_state
1002
+ @__weel_connectionwrapper::inform_state_change @__weel_connectionwrapper_args, @__weel_state
1000
1003
  end # }}}
1001
1004
 
1002
1005
  end # }}}
@@ -1006,27 +1009,27 @@ public
1006
1009
  @dslr.__weel_positions
1007
1010
  end # }}}
1008
1011
 
1009
- # set the handlerwrapper
1010
- def handlerwrapper # {{{
1011
- @dslr.__weel_handlerwrapper
1012
+ # set the connectionwrapper
1013
+ def connectionwrapper # {{{
1014
+ @dslr.__weel_connectionwrapper
1012
1015
  end # }}}
1013
- def handlerwrapper=(new_weel_handlerwrapper) # {{{
1014
- superclass = new_weel_handlerwrapper
1016
+ def connectionwrapper=(new_weel_connectionwrapper) # {{{
1017
+ superclass = new_weel_connectionwrapper
1015
1018
  while superclass
1016
- check_ok = true if superclass == WEEL::HandlerWrapperBase
1019
+ check_ok = true if superclass == WEEL::ConnectionWrapperBase
1017
1020
  superclass = superclass.superclass
1018
1021
  end
1019
- raise "Handlerwrapper is not inherited from HandlerWrapperBase" unless check_ok
1020
- @dslr.__weel_handlerwrapper = new_weel_handlerwrapper
1022
+ raise "ConnectionWrapper is not inherited from ConnectionWrapperBase" unless check_ok
1023
+ @dslr.__weel_connectionwrapper = new_weel_connectionwrapper
1021
1024
  end # }}}
1022
1025
 
1023
- # Get/Set the handlerwrapper arguments
1024
- def handlerwrapper_args # {{{
1025
- @dslr.__weel_handlerwrapper_args
1026
+ # Get/Set the connectionwrapper arguments
1027
+ def connectionwrapper_args # {{{
1028
+ @dslr.__weel_connectionwrapper_args
1026
1029
  end # }}}
1027
- def handlerwrapper_args=(args) # {{{
1030
+ def connectionwrapper_args=(args) # {{{
1028
1031
  if args.class == Array
1029
- @dslr.__weel_handlerwrapper_args = args
1032
+ @dslr.__weel_connectionwrapper_args = args
1030
1033
  end
1031
1034
  nil
1032
1035
  end # }}}
@@ -1036,7 +1039,7 @@ public
1036
1039
  @dslr.__weel_state
1037
1040
  end # }}}
1038
1041
  def state_signal # {{{
1039
- handlerwrapper::inform_state_change handlerwrapper_args, state
1042
+ connectionwrapper::inform_state_change connectionwrapper_args, state
1040
1043
  state
1041
1044
  end # }}}
1042
1045
  def abandon # {{{
@@ -1100,19 +1103,19 @@ public
1100
1103
  end
1101
1104
  rescue SyntaxError => se
1102
1105
  @dslr.__weel_state = :stopping
1103
- @dslr.__weel_handlerwrapper::inform_syntax_error(@dslr.__weel_handlerwrapper_args,Exception.new(se.message),code)
1106
+ @dslr.__weel_connectionwrapper::inform_syntax_error(@dslr.__weel_connectionwrapper_args,Exception.new(se.message),code)
1104
1107
  rescue NameError => err # don't look into it, or it will explode
1105
1108
  @dslr.__weel_state = :stopping
1106
- @dslr.__weel_handlerwrapper::inform_syntax_error(@dslr.__weel_handlerwrapper_args,Exception.new("main: `#{err.name}` is not a thing that can be used. Maybe it is meant to be a string and you forgot quotes?"),code)
1109
+ @dslr.__weel_connectionwrapper::inform_syntax_error(@dslr.__weel_connectionwrapper_args,Exception.new("main: `#{err.name}` is not a thing that can be used. Maybe it is meant to be a string and you forgot quotes?"),code)
1107
1110
  rescue => err
1108
1111
  @dslr.__weel_state = :stopping
1109
- @dslr.__weel_handlerwrapper::inform_syntax_error(@dslr.__weel_handlerwrapper_args,Exception.new(err.message),code)
1112
+ @dslr.__weel_connectionwrapper::inform_syntax_error(@dslr.__weel_connectionwrapper_args,Exception.new(err.message),code)
1110
1113
  end
1111
1114
  if @dslr.__weel_state == :running || @dslr.__weel_state == :finishing
1112
1115
  ipc = { :unmark => [] }
1113
1116
  @dslr.__weel_positions.each{ |wp| ipc[:unmark] << wp }
1114
1117
  @dslr.__weel_positions.clear
1115
- @dslr.__weel_handlerwrapper::inform_position_change(@dslr.__weel_handlerwrapper_args,ipc)
1118
+ @dslr.__weel_connectionwrapper::inform_position_change(@dslr.__weel_connectionwrapper_args,ipc)
1116
1119
  @dslr.__weel_state = :finished
1117
1120
  end
1118
1121
  if @dslr.__weel_state == :simulating
@@ -1145,7 +1148,7 @@ public
1145
1148
  rescue => e
1146
1149
  puts e.message
1147
1150
  puts e.backtrace
1148
- handlerwrapper::inform_handlerwrapper_error handlerwrapper_args, e
1151
+ connectionwrapper::inform_connectionwrapper_error connectionwrapper_args, e
1149
1152
  end
1150
1153
  end
1151
1154
  end # }}}
@@ -1,13 +1,13 @@
1
1
  # Apache License, Version 2.0
2
- #
2
+ #
3
3
  # Copyright (c) 2013 Juergen Mangler
4
- #
4
+ #
5
5
  # Licensed under the Apache License, Version 2.0 (the "License");
6
6
  # you may not use this file except in compliance with the License.
7
7
  # You may obtain a copy of the License at
8
- #
8
+ #
9
9
  # http://www.apache.org/licenses/LICENSE-2.0
10
- #
10
+ #
11
11
  # Unless required by applicable law or agreed to in writing, software
12
12
  # distributed under the License is distributed on an "AS IS" BASIS,
13
13
  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
@@ -15,18 +15,18 @@
15
15
  # limitations under the License.
16
16
 
17
17
  ######
18
- # ADVENTURE Simulation Trace Generator Handler Wrapper
18
+ # ADVENTURE Simulation Trace Generator Connection Wrapper
19
19
  ######
20
20
 
21
21
  module TraceBasics #{{{
22
22
  def <<(item)
23
23
  @elements << item
24
- item.parent = self
24
+ item.parent = self
25
25
  end
26
26
  def each
27
27
  @elements.each do |ele|
28
28
  yield ele
29
- end
29
+ end
30
30
  end
31
31
  end #}}}
32
32
 
@@ -42,11 +42,11 @@ class Trace #{{{
42
42
  end
43
43
  def recursive_get_container(container,tid)
44
44
  return container if container.respond_to?(:tid) and container.tid == tid
45
- container.each do |ele|
45
+ container.each do |ele|
46
46
  if ele.kind_of?(TraceContainer)
47
- ret = recursive_get_container(ele,tid)
47
+ ret = recursive_get_container(ele,tid)
48
48
  return ret unless ret.nil?
49
- end
49
+ end
50
50
  end
51
51
  nil
52
52
  end
@@ -79,7 +79,7 @@ class Trace #{{{
79
79
  tmp = recursive_generate_list(ele,options)
80
80
  add_traces(traces,tmp)
81
81
  options[:otherwise] = true
82
- end
82
+ end
83
83
  end
84
84
  traces
85
85
  end
@@ -137,7 +137,7 @@ class TraceChoose < TraceContainer
137
137
  def initialize(tid,mode)
138
138
  super tid
139
139
  @mode = mode
140
- end
140
+ end
141
141
  end
142
142
  class TraceAlternative < TraceContainer; end
143
143
  class TraceOtherwise < TraceContainer; end
@@ -145,10 +145,10 @@ class TraceOtherwise < TraceContainer; end
145
145
  class PlainTrace
146
146
  def initialize
147
147
  @container
148
- end
148
+ end
149
149
  end
150
150
 
151
- class SimHandlerWrapper < WEEL::HandlerWrapperBase
151
+ class SimConnectionWrapper < WEEL::ConnectionWrapperBase
152
152
  def initialize(args,endpoint=nil,position=nil,continue=nil)
153
153
  @__myhandler_stopped = false
154
154
  @__myhandler_position = position
@@ -172,19 +172,19 @@ class SimHandlerWrapper < WEEL::HandlerWrapperBase
172
172
  clast = $trace.get_container(parent)
173
173
  until clast.kind_of?(TraceParallel)
174
174
  clast = clast.parent
175
- end
175
+ end
176
176
  clast << TraceParallelBranch.new(tid,parent)
177
177
  else
178
178
  clast = $trace.get_container(tid)
179
179
  clast.close! if clast.open?
180
- end
180
+ end
181
181
  when :choose
182
182
  simulate_add_to_container($trace,nesting,parent,tid) { TraceChoose.new(tid,parameters[:mode]) }
183
183
  when :alternative
184
184
  simulate_add_to_container($trace,nesting,parent,tid) { TraceAlternative.new(tid) }
185
185
  when :otherwise
186
186
  simulate_add_to_container($trace,nesting,parent,tid) { TraceOtherwise.new(tid) }
187
- end
187
+ end
188
188
  end
189
189
 
190
190
  private
@@ -196,7 +196,7 @@ class SimHandlerWrapper < WEEL::HandlerWrapperBase
196
196
  else
197
197
  clast = trace.get_container(tid)
198
198
  clast.close! if clast.open?
199
- end
199
+ end
200
200
  end #}}}
201
201
 
202
202
  end
@@ -1,4 +1,4 @@
1
- class TestHandlerWrapper < WEEL::HandlerWrapperBase
1
+ class TestConnectionWrapper < WEEL::ConnectionWrapperBase
2
2
  def self::inform_state_change(arguments,newstate)
3
3
  $long_track += "---> STATE #{newstate}\n"
4
4
  $short_track << "|#{newstate}|"
@@ -8,7 +8,7 @@ class TestHandlerWrapper < WEEL::HandlerWrapperBase
8
8
  $short_track << "E"
9
9
  raise(err)
10
10
  end
11
- def self::inform_handlerwrapper_error(arguments,err)
11
+ def self::inform_connectionwrapper_error(arguments,err)
12
12
  $long_track += "HW ERROR: #{err}\n"
13
13
  $short_track << "E"
14
14
  end
data/test/TestWorkflow.rb CHANGED
@@ -1,9 +1,9 @@
1
1
  require File.expand_path(::File.dirname(__FILE__) + '/../lib/weel')
2
2
  require File.expand_path(::File.dirname(__FILE__) + '/TestMixin')
3
- require File.expand_path(::File.dirname(__FILE__) + '/TestHandlerWrapper')
3
+ require File.expand_path(::File.dirname(__FILE__) + '/TestConnectionWrapper')
4
4
 
5
5
  class TestWorkflow < WEEL
6
- handlerwrapper TestHandlerWrapper
6
+ connectionwrapper TestConnectionWrapper
7
7
 
8
8
  endpoint :endpoint1 => 'http://www.heise.de'
9
9
  endpoint :stop => 'stop it'
@@ -6,14 +6,14 @@ class TestCaseHandler < Test::Unit::TestCase
6
6
 
7
7
  def test_handler
8
8
  assert_raise RuntimeError do
9
- @wf.handlerwrapper = String
9
+ @wf.connectionwrapper = String
10
10
  end
11
11
  assert_nothing_raised do
12
- @wf.handlerwrapper = TestHandlerWrapper
12
+ @wf.connectionwrapper = TestConnectionWrapper
13
13
  end
14
14
  end
15
15
  def test_handlerargs
16
- @wf.handlerwrapper_args = ["1", "2"]
17
- assert(@wf.handlerwrapper_args.is_a?(Array), "Handler arguments is not an array, it is a #{@wf.handlerwrapper_args.inspect}")
16
+ @wf.connectionwrapper_args = ["1", "2"]
17
+ assert(@wf.connectionwrapper_args.is_a?(Array), "Handler arguments is not an array, it is a #{@wf.connectionwrapper_args.inspect}")
18
18
  end
19
19
  end
data/weel.gemspec CHANGED
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "weel"
3
- s.version = "1.99.98"
3
+ s.version = "1.99.99"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Workflow Execution Engine Library (WEEL)"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: weel
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.99.98
4
+ version: 1.99.99
5
5
  platform: ruby
6
6
  authors:
7
7
  - Juergen eTM Mangler
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-05-11 00:00:00.000000000 Z
12
+ date: 2021-05-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: test-unit
@@ -45,8 +45,8 @@ files:
45
45
  - lib/weel.rb
46
46
  - test/ContinueTest.rb
47
47
  - test/README
48
- - test/SimHandlerWrapper.rb
49
- - test/TestHandlerWrapper.rb
48
+ - test/SimConnectionWrapper.rb
49
+ - test/TestConnectionWrapper.rb
50
50
  - test/TestMixin.rb
51
51
  - test/TestWorkflow.rb
52
52
  - test/basic/tc_choose.rb
@@ -106,12 +106,12 @@ signing_key:
106
106
  specification_version: 4
107
107
  summary: Workflow Execution Engine Library (WEEL)
108
108
  test_files:
109
- - test/TestHandlerWrapper.rb
110
109
  - test/test
111
110
  - test/ContinueTest.rb
112
111
  - test/TestWorkflow.rb
113
112
  - test/TestMixin.rb
114
- - test/SimHandlerWrapper.rb
113
+ - test/TestConnectionWrapper.rb
114
+ - test/SimConnectionWrapper.rb
115
115
  - test/README
116
116
  - test/wfp_iteration/tc_structuredloop.rb
117
117
  - test/wfp_adv_branching/tc_structured_partial_join.rb