|
|
@@ -53,20 +53,76 @@ type Args struct { // 매개변수
|
|
53
|
53
|
|
|
54
|
54
|
func (receiver Receiver) MM_Receive(args Args, reply *Reply) error {
|
|
55
|
55
|
// 메세지 별로 나눠서 언마샬하면 됨
|
|
|
56
|
+ switch args.Kind {
|
|
56
|
57
|
|
|
57
|
|
- var msg PublishMsg
|
|
58
|
|
-
|
|
59
|
|
- //msg
|
|
60
|
|
- err := json.Unmarshal(args.JsonMsg, &msg)
|
|
61
|
|
- if err != nil {
|
|
62
|
|
- return err
|
|
63
|
|
- }
|
|
64
|
|
- go func() {
|
|
65
|
|
- _, err := receiver.moscato.Receive(msg)
|
|
|
58
|
+ case KSM:
|
|
|
59
|
+ var msg KeyGenMsg
|
|
|
60
|
+ err:=json.Unmarshal(args.JsonMsg,&msg)
|
|
66
|
61
|
if err != nil {
|
|
67
|
|
-
|
|
|
62
|
+ return err
|
|
|
63
|
+ }
|
|
|
64
|
+ go func() {
|
|
|
65
|
+ _, err := receiver.moscato.Receive(msg)
|
|
|
66
|
+ if err != nil {
|
|
|
67
|
+
|
|
|
68
|
+ }
|
|
|
69
|
+ }()
|
|
|
70
|
+ reply.CompleteLog = "received completely"
|
|
|
71
|
+ case PM:
|
|
|
72
|
+ var msg PublishMsg
|
|
|
73
|
+ err:=json.Unmarshal(args.JsonMsg,&msg)
|
|
|
74
|
+ if err != nil {
|
|
|
75
|
+ return err
|
|
|
76
|
+ }
|
|
|
77
|
+ go func() {
|
|
|
78
|
+ _, err := receiver.moscato.Receive(msg)
|
|
|
79
|
+ if err != nil {
|
|
|
80
|
+
|
|
|
81
|
+ }
|
|
|
82
|
+ }()
|
|
|
83
|
+ reply.CompleteLog = "received completely"
|
|
|
84
|
+ case SM:
|
|
|
85
|
+ var msg SubscriptionMsg
|
|
|
86
|
+ err:=json.Unmarshal(args.JsonMsg,&msg)
|
|
|
87
|
+ if err != nil {
|
|
|
88
|
+ return err
|
|
68
|
89
|
}
|
|
69
|
|
- }()
|
|
|
90
|
+ go func() {
|
|
|
91
|
+ _, err := receiver.moscato.Receive(msg)
|
|
|
92
|
+ if err != nil {
|
|
|
93
|
+
|
|
|
94
|
+ }
|
|
|
95
|
+ }()
|
|
|
96
|
+ reply.CompleteLog = "received completely"
|
|
|
97
|
+ case RM:
|
|
|
98
|
+ var msg RegisterMsg
|
|
|
99
|
+ err:=json.Unmarshal(args.JsonMsg,&msg)
|
|
|
100
|
+ if err != nil {
|
|
|
101
|
+ return err
|
|
|
102
|
+ }
|
|
|
103
|
+ go func() {
|
|
|
104
|
+ _, err := receiver.moscato.Receive(msg)
|
|
|
105
|
+ if err != nil {
|
|
|
106
|
+
|
|
|
107
|
+ }
|
|
|
108
|
+ }()
|
|
|
109
|
+ reply.CompleteLog = "received completely"
|
|
|
110
|
+ case WM:
|
|
|
111
|
+ var msg WithdrawMsg
|
|
|
112
|
+ err:=json.Unmarshal(args.JsonMsg,&msg)
|
|
|
113
|
+ if err != nil {
|
|
|
114
|
+ return err
|
|
|
115
|
+ }
|
|
|
116
|
+ go func() {
|
|
|
117
|
+ _, err := receiver.moscato.Receive(msg)
|
|
|
118
|
+ if err != nil {
|
|
|
119
|
+
|
|
|
120
|
+ }
|
|
|
121
|
+ }()
|
|
|
122
|
+ reply.CompleteLog = "received completely"
|
|
|
123
|
+ default:
|
|
|
124
|
+ return errors.New("Message type Error: Not registered message type")
|
|
|
125
|
+ }
|
|
70
|
126
|
reply.CompleteLog = "received completely"
|
|
71
|
127
|
return nil
|
|
72
|
128
|
}
|
|
|
@@ -114,7 +170,6 @@ func (moscato *Moscato) Run() {
|
|
114
|
170
|
//rpc 등록 -> Receive 함수
|
|
115
|
171
|
err := rpc.Register(receiver)
|
|
116
|
172
|
if err != nil {
|
|
117
|
|
- fmt.Println("fuck")
|
|
118
|
173
|
log.Println(err)
|
|
119
|
174
|
return
|
|
120
|
175
|
}
|