dango 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -7,7 +7,7 @@
7
7
  require 'dango/server_framework'
8
8
 
9
9
  # require RAILS_ROOT + '/config/boot'
10
- require RAILS_ROOT + '/config/environment'
10
+ require RAILS_ROOT + '/config/environment'
11
11
 
12
12
  # 環境によるコンフィグ読み込み
13
13
  env = ENV['RAILS_ENV'] || 'development'
@@ -548,77 +548,80 @@ class DangoServerFramework
548
548
  send_obj_dup["notice"] = notice_name.to_s
549
549
 
550
550
  # データ送信時にクライアントからのレスポンスを確認する(Flashのバグらしきもの対策)
551
- if notice_name.to_s =~ /^return_/
552
- cs_send_data(sock, send_obj_dup, :type=>dtype) # データ送信
553
- cs_logger.debug "cs_server_send_data:finish send data notice_name=#{notice_name.inspect}\n"
554
- else
551
+ # if notice_name.to_s =~ /^return_/
552
+ # cs_send_data(sock, send_obj_dup, :type=>dtype) # データ送信
553
+ # cs_logger.debug "cs_server_send_data:finish send data notice_name=#{notice_name.inspect}\n"
554
+ # else
555
555
  Thread.start do
556
- mutex_socket_list.synchronize(session_id) do
557
- send_receive_shared[notice_name] = nil
558
-
559
- receive_thread = nil
560
- end_reserved_time = Time.now + timeout
561
-
562
- # 戻ってきたデータのチェック
563
- notice_name_sym = (notice_name.class == Symbol) ? (":"+notice_name.to_s) : ('"'+notice_name+'"')
564
- instance_method_name = "cs_receive_response_#{notice_name}"
565
- # cs_logger.debug "instance_eval notice_name_sym=" + notice_name_sym.inspect
566
- expr = <<-EOF
567
- def self.#{instance_method_name}(ret_obj)
568
- begin
569
- send_receive_shared[#{notice_name_sym}] = ret_obj
570
- rescue Exception
571
- cs_logger.debug "instance_eval Error=" + $!.class.to_s
572
- cs_logger.debug "instance_eval Error=" + $!.message.to_s
573
- cs_logger.debug "instance_eval Error=" + $!.backtrace.pretty_inspect
574
- end
575
- end
576
- cs_logger.debug "defined:#{instance_method_name}"
577
- EOF
578
- # cs_logger.debug "expr:#{expr.inspect}"
579
- # cs_logger.debug "send_receive_shared:#{self.send_receive_shared().inspect}"
580
- instance_eval expr
581
-
582
- # タイムアウトチェック
583
- (timeout.to_f / SendReceiveSleepIntervalSec).to_i.times do
584
- if Time.now > end_reserved_time
585
- cs_logger.debug "timeout:#{notice_name}"
586
- break
587
- # raise(DangoFrameworkTimeoutError, "timeout:#{notice_name}")
588
- end
556
+ begin
557
+ mutex_socket_list.synchronize(session_id) do
558
+ send_receive_shared[notice_name] = nil
589
559
 
590
- # 送信スレッドが開始していなければ開始
591
- if !receive_thread
592
- receive_thread = Thread.start do
560
+ receive_thread = nil
561
+ end_reserved_time = Time.now + timeout
562
+
563
+ # 戻ってきたデータのチェック
564
+ notice_name_sym = (notice_name.class == Symbol) ? (":"+notice_name.to_s) : ('"'+notice_name+'"')
565
+ instance_method_name = "cs_receive_response_#{notice_name}"
566
+ # cs_logger.debug "instance_eval notice_name_sym=" + notice_name_sym.inspect
567
+ expr = <<-EOF
568
+ def self.#{instance_method_name}(ret_obj)
593
569
  begin
594
- cs_send_data(sock, send_obj_dup, :type=>dtype) # データ送信
595
- # cs_logger.debug "cs_server_send_data:send data notice_name=#{notice_name.inspect}\n"
596
- rescue DangoFrameworkError
597
- cs_logger.debug "cs_server_send_data:notice_name=#{notice_name.inspect}\n"
570
+ send_receive_shared[#{notice_name_sym}] = ret_obj
571
+ rescue Exception
572
+ cs_logger.debug "instance_eval Error=" + $!.class.to_s
573
+ cs_logger.debug "instance_eval Error=" + $!.message.to_s
574
+ cs_logger.debug "instance_eval Error=" + $!.backtrace.pretty_inspect
598
575
  end
599
576
  end
600
- end
577
+ cs_logger.debug "defined:#{instance_method_name}"
578
+ EOF
579
+ # cs_logger.debug "expr:#{expr.inspect}"
580
+ # cs_logger.debug "send_receive_shared:#{self.send_receive_shared().inspect}"
581
+ instance_eval expr
601
582
 
602
- # 戻ってきたデータがあれば
603
- if send_receive_shared[notice_name]
604
- cs_logger.debug "notice_name:#{send_receive_shared[notice_name].inspect}"
605
- break
583
+ # タイムアウトチェック
584
+ (timeout.to_f / SendReceiveSleepIntervalSec).to_i.times do
585
+ if Time.now > end_reserved_time
586
+ cs_logger.debug "timeout:#{notice_name}"
587
+ break
588
+ # raise(DangoFrameworkTimeoutError, "timeout:#{notice_name}")
589
+ end
590
+
591
+ # 送信スレッドが開始していなければ開始
592
+ if !receive_thread
593
+ receive_thread = Thread.start do
594
+ begin
595
+ cs_send_data(sock, send_obj_dup, :type=>dtype) # データ送信
596
+ # cs_logger.debug "cs_server_send_data:send data notice_name=#{notice_name.inspect}\n"
597
+ rescue DangoFrameworkError
598
+ cs_logger.debug "cs_server_send_data:notice_name=#{notice_name.inspect}\n"
599
+ end
600
+ end
601
+ end
602
+
603
+ # 戻ってきたデータがあれば
604
+ if send_receive_shared[notice_name]
605
+ cs_logger.debug "notice_name:#{send_receive_shared[notice_name].inspect}"
606
+ break
607
+ end
608
+
609
+ sleep SendReceiveSleepIntervalSec # スリープ
610
+ end # タイムアウト処理終わり
611
+
612
+ if !send_receive_shared[notice_name] # 戻ってきたデータがあるかどうかチェック
613
+ # raise(DangoFrameworkError, "received data is none")
614
+ cs_logger.warn "!!! received data is none. #{notice_name} #{send_receive_shared[notice_name].inspect}"
606
615
  end
607
616
 
608
- sleep SendReceiveSleepIntervalSec # スリープ
609
- end # タイムアウト処理終わり
610
-
611
- if !send_receive_shared[notice_name] # 戻ってきたデータがあるかどうかチェック
612
- # raise(DangoFrameworkError, "received data is none")
613
- cs_logger.debug "received data is none. #{send_receive_shared[notice_name].inspect}"
617
+ remove_method(instance_method_name) # 定義したインスタンスメソッドを削除しておく
614
618
  end
615
-
616
- remove_method(instance_method_name) # 定義したインスタンスメソッドを削除しておく
619
+ rescue
620
+ cs_logger.debug "send_response_thread error:#{error_message($!, 'u')}"
617
621
  end
618
622
  end # Thread:end
619
623
 
620
- sleep SendReceiveSleepIntervalSec # スリープ
621
- end
624
+ # end
622
625
 
623
626
  self
624
627
  end
data/lib/dango/version.rb CHANGED
@@ -2,7 +2,7 @@ module Dango #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 0
5
- TINY = 4
5
+ TINY = 5
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.4
3
3
  specification_version: 1
4
4
  name: dango
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.0.4
7
- date: 2007-10-04 00:00:00 +09:00
6
+ version: 0.0.5
7
+ date: 2007-10-09 00:00:00 +09:00
8
8
  summary: Ruby - Flash conneciton network flamework
9
9
  require_paths:
10
10
  - lib