|
|
@@ -11,7 +11,7 @@ import (
|
|
11
|
11
|
"net/rpc"
|
|
12
|
12
|
)
|
|
13
|
13
|
|
|
14
|
|
-// TODO: RM 처리와 init.go 전반적으로 DI 이용하여 구현
|
|
|
14
|
+// TODO: RM 처리와 init.go 전반적으로 DI 이용하여 구현 RM 키등록 부분 구현 예정
|
|
15
|
15
|
//temporary type for matching manager
|
|
16
|
16
|
//type match_manager struct{}
|
|
17
|
17
|
|
|
|
@@ -31,7 +31,7 @@ type Moscato struct {
|
|
31
|
31
|
queue MsgQueue
|
|
32
|
32
|
MicroServiceManager NodeManager `inject:""`
|
|
33
|
33
|
match_mng match_manager
|
|
34
|
|
- secure_mng secure_manager
|
|
|
34
|
+ SecureManager SecurityManager `inject:""`
|
|
35
|
35
|
}
|
|
36
|
36
|
|
|
37
|
37
|
type Reply struct {
|
|
|
@@ -154,13 +154,18 @@ func (moscato *Moscato) Receive(msg MsgUnit) (MsgUnit, error) {
|
|
154
|
154
|
newNode := MSNode{newMsg.From, newMsg.From}
|
|
155
|
155
|
resultAddNode := moscato.MicroServiceManager.AddMicroservice(newNode)
|
|
156
|
156
|
if resultAddNode {
|
|
157
|
|
- log.Println("node added successful")
|
|
|
157
|
+ log.Println("Node added successful")
|
|
158
|
158
|
} else {
|
|
159
|
|
- log.Println("node is already added, ignore RM")
|
|
|
159
|
+ log.Println("Node is already added, ignore RM")
|
|
|
160
|
+ return msg, nil
|
|
160
|
161
|
}
|
|
161
|
162
|
|
|
162
|
163
|
addr, _ := moscato.MicroServiceManager.GetIpaddr(newMsg.From)
|
|
|
164
|
+ moscato.SecureManager.RegKey(newMsg)
|
|
|
165
|
+ fmt.Println(moscato.SecureManager.GetNodeKey(newMsg.From))
|
|
163
|
166
|
fmt.Println(addr)
|
|
|
167
|
+
|
|
|
168
|
+ // ackRM 메세지 전송
|
|
164
|
169
|
go moscato.Send2MS(addr, newMsg)
|
|
165
|
170
|
|
|
166
|
171
|
log.Println("RM received")
|
|
|
@@ -206,7 +211,8 @@ func (moscato *Moscato) Run() {
|
|
206
|
211
|
|
|
207
|
212
|
err := graph.Provide(
|
|
208
|
213
|
&inject.Object{Value: NewMStable()},
|
|
209
|
|
- &inject.Object{Value: moscato})
|
|
|
214
|
+ &inject.Object{Value: moscato},
|
|
|
215
|
+ &inject.Object{Value: NewSecurity()})
|
|
210
|
216
|
if err != nil {
|
|
211
|
217
|
fmt.Println(err)
|
|
212
|
218
|
return
|