|
|
@@ -4,6 +4,7 @@ import (
|
|
4
|
4
|
"encoding/json"
|
|
5
|
5
|
"errors"
|
|
6
|
6
|
"fmt"
|
|
|
7
|
+ "github.com/facebookgo/inject"
|
|
7
|
8
|
"log"
|
|
8
|
9
|
"net"
|
|
9
|
10
|
"net/rpc"
|
|
|
@@ -27,7 +28,7 @@ type secure_manager struct{}
|
|
27
|
28
|
|
|
28
|
29
|
type Moscato struct {
|
|
29
|
30
|
queue MsgQueue
|
|
30
|
|
- MicroServiceManager NodeManager
|
|
|
31
|
+ MicroServiceManager NodeManager `inject:""`
|
|
31
|
32
|
match_mng match_manager
|
|
32
|
33
|
secure_mng secure_manager
|
|
33
|
34
|
}
|
|
|
@@ -191,15 +192,32 @@ func (moscato *Moscato) Send2MS(ipaddress string, msg MsgUnit) {
|
|
191
|
192
|
}
|
|
192
|
193
|
|
|
193
|
194
|
func (moscato *Moscato) Run() {
|
|
|
195
|
+
|
|
|
196
|
+ var graph inject.Graph
|
|
|
197
|
+
|
|
|
198
|
+ err := graph.Provide(
|
|
|
199
|
+ &inject.Object{Value: NewMStable()},
|
|
|
200
|
+ &inject.Object{Value: moscato})
|
|
|
201
|
+ if err != nil {
|
|
|
202
|
+ fmt.Println(err)
|
|
|
203
|
+ return
|
|
|
204
|
+ }
|
|
|
205
|
+
|
|
|
206
|
+ err = graph.Populate()
|
|
|
207
|
+ if err != nil {
|
|
|
208
|
+ fmt.Println(err)
|
|
|
209
|
+ return
|
|
|
210
|
+ }
|
|
|
211
|
+
|
|
194
|
212
|
//모스카토 구조체 변수 초기화
|
|
195
|
213
|
receiver := Receiver{moscato: moscato}
|
|
196
|
|
- err := moscato.queue.queue_init()
|
|
|
214
|
+ err = moscato.queue.queue_init()
|
|
197
|
215
|
if err != nil {
|
|
198
|
216
|
fmt.Println(err)
|
|
199
|
217
|
return
|
|
200
|
218
|
}
|
|
201
|
219
|
|
|
202
|
|
- moscato.MicroServiceManager = NewMStable()
|
|
|
220
|
+ //moscato.MicroServiceManager = NewMStable()
|
|
203
|
221
|
|
|
204
|
222
|
//go routine -> matching 동작
|
|
205
|
223
|
go moscato.match_mng.matching(&moscato.queue)
|