@@ -507,7 +507,6 @@ func TermiteMessageDispatcher(client *TermiteClient) {
507
507
var key string
508
508
switch msg .Type {
509
509
case message .STDIO :
510
- log .Debug ("case message.STDIO" )
511
510
key = msg .Body .(* message.BodyStdio ).Key
512
511
if process , exists := client .Processes [key ]; exists {
513
512
if process .WebSocket != nil {
@@ -516,10 +515,9 @@ func TermiteMessageDispatcher(client *TermiteClient) {
516
515
os .Stdout .Write (msg .Body .(* message.BodyStdio ).Data )
517
516
}
518
517
} else {
519
- log .Error ("No such key" )
518
+ log .Debug ("No such key: %s" , key )
520
519
}
521
520
case message .PROCESS_STARTED :
522
- log .Debug ("case message.PROCESS_STARTED" )
523
521
key = msg .Body .(* message.BodyProcessStarted ).Key
524
522
if process , exists := client .Processes [key ]; exists {
525
523
process .Pid = msg .Body .(* message.BodyProcessStarted ).Pid
@@ -529,10 +527,9 @@ func TermiteMessageDispatcher(client *TermiteClient) {
529
527
client .CurrentProcessKey = key
530
528
}
531
529
} else {
532
- log .Error ("No such key" )
530
+ log .Debug ("No such key: %s" , key )
533
531
}
534
532
case message .PROCESS_STOPED :
535
- log .Debug ("case message.PROCESS_STOPED" )
536
533
key = msg .Body .(* message.BodyProcessStoped ).Key
537
534
if process , exists := client .Processes [key ]; exists {
538
535
code := msg .Body .(* message.BodyProcessStoped ).Code
@@ -543,10 +540,9 @@ func TermiteMessageDispatcher(client *TermiteClient) {
543
540
client .CurrentProcessKey = ""
544
541
}
545
542
} else {
546
- log .Error ("No such key" )
543
+ log .Debug ("No such key: %s" , key )
547
544
}
548
545
case message .PULL_TUNNEL_CONNECTED :
549
- log .Debug ("case message.PULL_TUNNEL_CONNECTED" )
550
546
token := msg .Body .(* message.BodyPullTunnelConnected ).Token
551
547
log .Success ("Tunnel (%s) connected" , token )
552
548
if ti , exists := Ctx .PullTunnelInstance [token ]; exists {
@@ -574,44 +570,43 @@ func TermiteMessageDispatcher(client *TermiteClient) {
574
570
}
575
571
}()
576
572
} else {
577
- log .Error ("No such connection" )
573
+ log .Debug ("No such connection" )
578
574
}
579
575
case message .PULL_TUNNEL_CONNECT_FAILED :
580
- log .Debug ("case message.PULL_TUNNEL_CONNECT_FAILED" )
581
576
token := msg .Body .(* message.BodyPullTunnelConnectFailed ).Token
582
577
reason := msg .Body .(* message.BodyPullTunnelConnectFailed ).Reason
583
578
if ti , exists := Ctx .PullTunnelInstance [token ]; exists {
584
579
log .Error ("Connecting to %s failed: %s" , token , reason )
585
580
(* ti .Conn ).Close ()
586
581
delete (Ctx .PullTunnelInstance , token )
587
582
} else {
588
- log .Error ("No such connection" )
583
+ log .Debug ("No such connection" )
589
584
}
590
585
case message .PULL_TUNNEL_DISCONNECTED :
591
- log .Debug ("case message.PULL_TUNNEL_DISCONNECTED" )
592
586
token := msg .Body .(* message.BodyPullTunnelDisconnected ).Token
593
587
if ti , exists := Ctx .PullTunnelInstance [token ]; exists {
594
588
log .Error ("%s disconnected" , token )
595
589
(* ti .Conn ).Close ()
596
590
delete (Ctx .PullTunnelInstance , token )
597
591
} else {
598
- log .Error ("No such connection" )
592
+ log .Debug ("No such connection" )
599
593
}
600
594
case message .PULL_TUNNEL_DATA :
601
- log .Debug ("case message.PULL_TUNNEL_DATA" )
602
595
token := msg .Body .(* message.BodyPullTunnelData ).Token
603
596
data := msg .Body .(* message.BodyPullTunnelData ).Data
604
597
if ti , exists := Ctx .PullTunnelInstance [token ]; exists {
605
598
(* ti .Conn ).Write (data )
606
599
} else {
607
- log .Error ("No such connection" )
600
+ log .Debug ("No such connection" )
608
601
}
609
602
case message .PUSH_TUNNEL_CONNECT :
610
- log .Debug ("case message.PUSH_TUNNEL_CONNECT" )
611
603
token := msg .Body .(* message.BodyPushTunnelConnect ).Token
612
- if tc , exists := Ctx .PushTunnelConfig [token ]; exists {
604
+ address := msg .Body .(* message.BodyPushTunnelConnect ).Address
605
+ if tc , exists := Ctx .PushTunnelConfig [address ]; exists {
606
+ log .Info ("Connecting to %s" , tc .Address )
613
607
conn , err := net .Dial ("tcp" , tc .Address )
614
608
if err != nil {
609
+ log .Error ("Connecting to %s failed: %s" , tc .Address , err .Error ())
615
610
tc .Termite .Encoder .Encode (message.Message {
616
611
Type : message .PUSH_TUNNEL_CONNECT_FAILED ,
617
612
Body : message.BodyPushTunnelConnectFailed {
@@ -620,6 +615,7 @@ func TermiteMessageDispatcher(client *TermiteClient) {
620
615
},
621
616
})
622
617
} else {
618
+ log .Success ("Connecting to %s succeed" , tc .Address )
623
619
Ctx .PushTunnelInstance [token ] = PushTunnelInstance {
624
620
Termite : tc .Termite ,
625
621
Conn : & conn ,
@@ -635,9 +631,10 @@ func TermiteMessageDispatcher(client *TermiteClient) {
635
631
buffer := make ([]byte , 0x400 )
636
632
n , err := conn .Read (buffer )
637
633
if err != nil {
634
+ log .Debug ("Reading from %s failed: %s" , tc .Address , err .Error ())
638
635
tc .Termite .Encoder .Encode (message.Message {
639
- Type : message .PUSH_TUNNEL_CONNECT_FAILED ,
640
- Body : message.BodyPushTunnelConnectFailed {
636
+ Type : message .PUSH_TUNNEL_DISCONNECTED ,
637
+ Body : message.BodyPushTunnelDisonnected {
641
638
Token : token ,
642
639
Reason : err .Error (),
643
640
},
@@ -646,6 +643,7 @@ func TermiteMessageDispatcher(client *TermiteClient) {
646
643
delete (Ctx .PushTunnelInstance , token )
647
644
break
648
645
} else {
646
+ log .Debug ("%d bytes read from %s" , n , tc .Address )
649
647
tc .Termite .Encoder .Encode (message.Message {
650
648
Type : message .PUSH_TUNNEL_DATA ,
651
649
Body : message.BodyPushTunnelData {
@@ -658,53 +656,48 @@ func TermiteMessageDispatcher(client *TermiteClient) {
658
656
}()
659
657
}
660
658
} else {
661
- log .Error ("No such tunnel" )
659
+ log .Debug ("No such tunnel: %s" , token )
662
660
}
663
661
case message .PUSH_TUNNEL_DISCONNECT :
664
- log .Debug ("case message.PUSH_TUNNEL_DISCONNECT" )
665
662
token := msg .Body .(* message.BodyPushTunnelDisonnect ).Token
666
663
if ti , exists := Ctx .PushTunnelInstance [token ]; exists {
667
664
log .Success ("Tunnel %v closed" , (* ti .Conn ).RemoteAddr ().String ())
668
665
(* ti .Conn ).Close ()
666
+ delete (Ctx .PushTunnelInstance , token )
669
667
} else {
670
- log .Error ("No such tunnel" )
668
+ log .Debug ("No such tunnel: %s" , token )
671
669
}
672
670
case message .PUSH_TUNNEL_DISCONNECTED :
673
- log .Debug ("case message.PUSH_TUNNEL_DISCONNECTED" )
674
671
token := msg .Body .(* message.BodyPushTunnelDisonnected ).Token
675
672
if ti , exists := Ctx .PushTunnelInstance [token ]; exists {
676
673
(* ti .Conn ).Close ()
677
674
delete (Ctx .PushTunnelInstance , token )
678
675
} else {
679
- log .Error ("No such tunnel" )
676
+ log .Debug ("No such tunnel: %s" , token )
680
677
}
681
678
case message .PUSH_TUNNEL_CREATED :
682
- log .Debug ("case message.PUSH_TUNNEL_CREATED" )
683
- token := msg .Body .(* message.BodyPushTunnelCreated ).Token
684
- if tc , exists := Ctx .PushTunnelConfig [token ]; exists {
679
+ address := msg .Body .(* message.BodyPushTunnelCreated ).Address
680
+ if tc , exists := Ctx .PushTunnelConfig [address ]; exists {
685
681
log .Success ("Tunnel created: %s" , tc .Address )
686
682
} else {
687
- log .Error ("No such tunnel" )
683
+ log .Debug ("No such tunnel: %s" , address )
688
684
}
689
685
case message .PUSH_TUNNEL_CREATE_FAILED :
690
- log .Debug ("case message.PUSH_TUNNEL_CREATE_FAILED" )
691
- token := msg .Body .(* message.BodyPushTunnelCreateFailed ).Token
686
+ address := msg .Body .(* message.BodyPushTunnelCreateFailed ).Address
692
687
reason := msg .Body .(* message.BodyPushTunnelCreateFailed ).Reason
693
- if tc , exists := Ctx .PushTunnelConfig [token ]; exists {
688
+ if tc , exists := Ctx .PushTunnelConfig [address ]; exists {
694
689
log .Success ("Tunnel create failed: %s" , tc .Address , reason )
690
+ delete (Ctx .PushTunnelConfig , address )
695
691
} else {
696
- log .Error ("No such tunnel" )
692
+ log .Debug ("No such tunnel: %s" , address )
697
693
}
698
694
case message .PUSH_TUNNEL_DELETED :
699
- log .Debug ("case message.PUSH_TUNNEL_DELETED" )
700
695
// TODO
701
696
log .Info ("PUSH_TUNNEL_DELETED" )
702
697
case message .PUSH_TUNNEL_DELETE_FAILED :
703
- log .Debug ("case message.PUSH_TUNNEL_DELETE_FAILED" )
704
698
// TODO
705
699
log .Info ("PUSH_TUNNEL_DELETE_FAILED" )
706
700
case message .PUSH_TUNNEL_DATA :
707
- log .Debug ("case message.PUSH_TUNNEL_DATA" )
708
701
token := msg .Body .(* message.BodyPushTunnelData ).Token
709
702
data := msg .Body .(* message.BodyPushTunnelData ).Data
710
703
if ti , exists := Ctx .PushTunnelInstance [token ]; exists {
@@ -721,7 +714,7 @@ func TermiteMessageDispatcher(client *TermiteClient) {
721
714
delete (Ctx .PushTunnelInstance , token )
722
715
}
723
716
} else {
724
- log .Error ("No such tunnel" )
717
+ log .Debug ("No such tunnel: %s" , token )
725
718
}
726
719
}
727
720
}
0 commit comments