@@ -48,9 +48,9 @@ func ServiceRun(addresses []string, port int) {
48
48
49
49
for _ , addr := range addresses {
50
50
if netAddr , err := net .ResolveIPAddr ("ip" , addr ); err != nil {
51
- logger .SctpLog .Errorf ("Error resolving address '%s': %v\n " , addr , err )
51
+ logger .SctpLog .Errorf ("error resolving address '%s': %v\n " , addr , err )
52
52
} else {
53
- logger .SctpLog .Debugf ("Resolved address '%s' to %s\n " , addr , netAddr )
53
+ logger .SctpLog .Debugf ("resolved address '%s' to %s\n " , addr , netAddr )
54
54
ips = append (ips , * netAddr )
55
55
}
56
56
}
@@ -65,78 +65,78 @@ func ServiceRun(addresses []string, port int) {
65
65
66
66
func listenAndServe (addr * sctp.SCTPAddr , handler SCTPHandler ) {
67
67
if listener , err := sctpConfig .Listen ("sctp" , addr ); err != nil {
68
- logger .SctpLog .Errorf ("Failed to listen: %+v" , err )
68
+ logger .SctpLog .Errorf ("failed to listen: %+v" , err )
69
69
return
70
70
} else {
71
71
sctpListener = listener
72
72
}
73
73
74
- logger .SctpLog .Infof ("Listen on %s" , sctpListener .Addr ())
74
+ logger .SctpLog .Infof ("listen on %s" , sctpListener .Addr ())
75
75
76
76
for {
77
77
newConn , err := sctpListener .AcceptSCTP ()
78
78
if err != nil {
79
79
switch err {
80
80
case syscall .EINTR , syscall .EAGAIN :
81
- logger .SctpLog .Debugf ("AcceptSCTP : %+v" , err )
81
+ logger .SctpLog .Debugf ("acceptSCTP : %+v" , err )
82
82
default :
83
- logger .SctpLog .Errorf ("Failed to accept: %+v" , err )
83
+ logger .SctpLog .Errorf ("failed to accept: %+v" , err )
84
84
}
85
85
continue
86
86
}
87
87
88
88
var info * sctp.SndRcvInfo
89
89
if infoTmp , err := newConn .GetDefaultSentParam (); err != nil {
90
- logger .SctpLog .Errorf ("Get default sent param error: %+v, accept failed" , err )
90
+ logger .SctpLog .Errorf ("get default sent param error: %+v, accept failed" , err )
91
91
if err = newConn .Close (); err != nil {
92
- logger .SctpLog .Errorf ("Close error: %+v" , err )
92
+ logger .SctpLog .Errorf ("close error: %+v" , err )
93
93
}
94
94
continue
95
95
} else {
96
96
info = infoTmp
97
- logger .SctpLog .Debugf ("Get default sent param[value: %+v]" , info )
97
+ logger .SctpLog .Debugf ("get default sent param[value: %+v]" , info )
98
98
}
99
99
100
100
info .PPID = ngap .PPID
101
101
if err := newConn .SetDefaultSentParam (info ); err != nil {
102
- logger .SctpLog .Errorf ("Set default sent param error: %+v, accept failed" , err )
102
+ logger .SctpLog .Errorf ("set default sent param error: %+v, accept failed" , err )
103
103
if err = newConn .Close (); err != nil {
104
- logger .SctpLog .Errorf ("Close error: %+v" , err )
104
+ logger .SctpLog .Errorf ("close error: %+v" , err )
105
105
}
106
106
continue
107
107
} else {
108
- logger .SctpLog .Debugf ("Set default sent param[value: %+v]" , info )
108
+ logger .SctpLog .Debugf ("set default sent param[value: %+v]" , info )
109
109
}
110
110
111
111
events := sctp .SCTP_EVENT_DATA_IO | sctp .SCTP_EVENT_SHUTDOWN | sctp .SCTP_EVENT_ASSOCIATION
112
112
if err := newConn .SubscribeEvents (events ); err != nil {
113
- logger .SctpLog .Errorf ("Failed to accept: %+v" , err )
113
+ logger .SctpLog .Errorf ("failed to accept: %+v" , err )
114
114
if err = newConn .Close (); err != nil {
115
- logger .SctpLog .Errorf ("Close error: %+v" , err )
115
+ logger .SctpLog .Errorf ("close error: %+v" , err )
116
116
}
117
117
continue
118
118
} else {
119
119
logger .SctpLog .Debugln ("Subscribe SCTP event[DATA_IO, SHUTDOWN_EVENT, ASSOCIATION_CHANGE]" )
120
120
}
121
121
122
122
if err := newConn .SetReadBuffer (int (readBufSize )); err != nil {
123
- logger .SctpLog .Errorf ("Set read buffer error: %+v, accept failed" , err )
123
+ logger .SctpLog .Errorf ("set read buffer error: %+v, accept failed" , err )
124
124
if err = newConn .Close (); err != nil {
125
- logger .SctpLog .Errorf ("Close error: %+v" , err )
125
+ logger .SctpLog .Errorf ("close error: %+v" , err )
126
126
}
127
127
continue
128
128
} else {
129
- logger .SctpLog .Debugf ("Set read buffer to %d bytes" , readBufSize )
129
+ logger .SctpLog .Debugf ("set read buffer to %d bytes" , readBufSize )
130
130
}
131
131
132
132
if err := newConn .SetReadTimeout (readTimeout ); err != nil {
133
- logger .SctpLog .Errorf ("Set read timeout error: %+v, accept failed" , err )
133
+ logger .SctpLog .Errorf ("set read timeout error: %+v, accept failed" , err )
134
134
if err = newConn .Close (); err != nil {
135
- logger .SctpLog .Errorf ("Close error: %+v" , err )
135
+ logger .SctpLog .Errorf ("close error: %+v" , err )
136
136
}
137
137
continue
138
138
} else {
139
- logger .SctpLog .Debugf ("Set read timeout: %+v" , readTimeout )
139
+ logger .SctpLog .Debugf ("set read timeout: %+v" , readTimeout )
140
140
}
141
141
142
142
logger .SctpLog .Infof ("[AMF] SCTP Accept from: %s" , newConn .RemoteAddr ().String ())
@@ -158,8 +158,7 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
158
158
connections .Delete (conn )
159
159
}()
160
160
161
- var GnbConnChan chan bool
162
- GnbConnChan = make (chan bool )
161
+ GnbConnChan := make (chan bool )
163
162
164
163
go func () {
165
164
for {
@@ -169,7 +168,7 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
169
168
if err != nil {
170
169
switch err {
171
170
case io .EOF , io .ErrUnexpectedEOF :
172
- logger .SctpLog .Debugln ("Read EOF from client" )
171
+ logger .SctpLog .Debugln ("read EOF from client" )
173
172
GnbConnChan <- false
174
173
return
175
174
case syscall .EAGAIN :
@@ -179,7 +178,7 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
179
178
logger .SctpLog .Debugf ("SCTPRead: %+v" , err )
180
179
continue
181
180
default :
182
- logger .SctpLog .Errorf ("Handle connection[addr: %+v] error: %+v" , conn .RemoteAddr (), err )
181
+ logger .SctpLog .Errorf ("handle connection[addr: %+v] error: %+v" , conn .RemoteAddr (), err )
183
182
GnbConnChan <- false
184
183
return
185
184
}
@@ -188,33 +187,30 @@ func handleConnection(conn *sctp.SCTPConn, bufsize uint32, handler SCTPHandler)
188
187
if notification != nil {
189
188
p , ok := connections .Load (conn )
190
189
if ! ok {
191
- logger .SctpLog .Infof ("Notification for unknown connection" )
190
+ logger .SctpLog .Infof ("notification for unknown connection" )
192
191
} else {
193
192
peer := p .(* SctpConnections )
194
- logger .SctpLog .Warnf ("Handle SCTP Notification[addr: %+v], peer %v " , conn .RemoteAddr (), peer )
193
+ logger .SctpLog .Warnf ("handle SCTP Notification[addr: %+v], peer %v " , conn .RemoteAddr (), peer )
195
194
GnbConnChan <- false
196
195
}
197
196
} else {
198
197
if info == nil || info .PPID != ngap .PPID {
199
- logger .SctpLog .Warnln ("Received SCTP PPID != 60, discard this packet" )
198
+ logger .SctpLog .Warnln ("received SCTP PPID != 60, discard this packet" )
200
199
continue
201
200
}
202
201
203
- logger .SctpLog .Tracef ("Read %d bytes" , n )
204
- logger .SctpLog .Tracef ("Packet content:\n %+v" , hex .Dump (buf [:n ]))
202
+ logger .SctpLog .Tracef ("read %d bytes" , n )
203
+ logger .SctpLog .Tracef ("packet content:\n %+v" , hex .Dump (buf [:n ]))
205
204
206
205
handler .HandleMessage (conn , buf [:n ])
207
206
}
208
207
}
209
208
}()
210
209
211
- for {
212
- select {
213
- case x := <- GnbConnChan :
214
- logger .SctpLog .Errorln ("Closing gnb Connection " , x )
215
- buf := make ([]byte , bufsize )
216
- handler .HandleMessage (conn , buf [:0 ])
217
- return
218
- }
210
+ for x := range GnbConnChan {
211
+ logger .SctpLog .Errorln ("closing gnb Connection " , x )
212
+ buf := make ([]byte , bufsize )
213
+ handler .HandleMessage (conn , buf [:0 ])
214
+ return
219
215
}
220
216
}
0 commit comments