Skip to content
This repository was archived by the owner on Oct 20, 2024. It is now read-only.

Commit 4421c74

Browse files
authored
feat: returns client instead of addr (#37)
1 parent 0b86f08 commit 4421c74

9 files changed

+96
-62
lines changed

server/server.go

Lines changed: 75 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,36 @@
11
package server
22

33
import (
4+
"fmt"
45
"log"
56
"net"
67

8+
"github.com/dot-5g/pfcp/client"
79
"github.com/dot-5g/pfcp/messages"
810
"github.com/dot-5g/pfcp/network"
911
)
1012

11-
type HandleHeartbeatRequest func(address net.Addr, sequenceNumber uint32, msg messages.HeartbeatRequest)
12-
type HandleHeartbeatResponse func(address net.Addr, sequenceNumber uint32, msg messages.HeartbeatResponse)
13-
type HandlePFCPAssociationSetupRequest func(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationSetupRequest)
14-
type HandlePFCPAssociationSetupResponse func(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationSetupResponse)
15-
type HandlePFCPAssociationUpdateRequest func(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationUpdateRequest)
16-
type HandlePFCPAssociationUpdateResponse func(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationUpdateResponse)
17-
type HandlePFCPAssociationReleaseRequest func(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationReleaseRequest)
18-
type HandlePFCPAssociationReleaseResponse func(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationReleaseResponse)
19-
type HandlePFCPNodeReportRequest func(address net.Addr, sequenceNumber uint32, msg messages.PFCPNodeReportRequest)
20-
type HandlePFCPNodeReportResponse func(address net.Addr, sequenceNumber uint32, msg messages.PFCPNodeReportResponse)
21-
type HandlePFCPSessionEstablishmentRequest func(address net.Addr, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionEstablishmentRequest)
22-
type HandlePFCPSessionEstablishmentResponse func(address net.Addr, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionEstablishmentResponse)
23-
type HandlePFCPSessionDeletionRequest func(address net.Addr, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionDeletionRequest)
24-
type HandlePFCPSessionDeletionResponse func(address net.Addr, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionDeletionResponse)
25-
type HandlePFCPSessionReportRequest func(address net.Addr, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionReportRequest)
26-
type HandlePFCPSessionReportResponse func(address net.Addr, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionReportResponse)
13+
type HandleHeartbeatRequest func(client *client.Pfcp, sequenceNumber uint32, msg messages.HeartbeatRequest)
14+
type HandleHeartbeatResponse func(client *client.Pfcp, sequenceNumber uint32, msg messages.HeartbeatResponse)
15+
type HandlePFCPAssociationSetupRequest func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationSetupRequest)
16+
type HandlePFCPAssociationSetupResponse func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationSetupResponse)
17+
type HandlePFCPAssociationUpdateRequest func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationUpdateRequest)
18+
type HandlePFCPAssociationUpdateResponse func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationUpdateResponse)
19+
type HandlePFCPAssociationReleaseRequest func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationReleaseRequest)
20+
type HandlePFCPAssociationReleaseResponse func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationReleaseResponse)
21+
type HandlePFCPNodeReportRequest func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPNodeReportRequest)
22+
type HandlePFCPNodeReportResponse func(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPNodeReportResponse)
23+
type HandlePFCPSessionEstablishmentRequest func(client *client.Pfcp, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionEstablishmentRequest)
24+
type HandlePFCPSessionEstablishmentResponse func(client *client.Pfcp, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionEstablishmentResponse)
25+
type HandlePFCPSessionDeletionRequest func(client *client.Pfcp, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionDeletionRequest)
26+
type HandlePFCPSessionDeletionResponse func(client *client.Pfcp, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionDeletionResponse)
27+
type HandlePFCPSessionReportRequest func(client *client.Pfcp, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionReportRequest)
28+
type HandlePFCPSessionReportResponse func(client *client.Pfcp, sequenceNumber uint32, seid uint64, msg messages.PFCPSessionReportResponse)
2729

2830
type Server struct {
2931
address string
3032
udpServer *network.UdpServer
33+
clients map[string]*client.Pfcp
3134

3235
heartbeatRequestHandler HandleHeartbeatRequest
3336
heartbeatResponseHandler HandleHeartbeatResponse
@@ -51,6 +54,7 @@ func New(address string) *Server {
5154
server := &Server{
5255
address: address,
5356
udpServer: network.NewUdpServer(),
57+
clients: make(map[string]*client.Pfcp),
5458
}
5559
return server
5660
}
@@ -65,6 +69,37 @@ func (server *Server) Close() {
6569
server.udpServer.Close()
6670
}
6771

72+
func (server *Server) GetClients() []*client.Pfcp {
73+
clients := make([]*client.Pfcp, 0)
74+
for _, cl := range server.clients {
75+
clients = append(clients, cl)
76+
}
77+
return clients
78+
}
79+
80+
func (server *Server) GetClientForAddress(addr net.Addr) *client.Pfcp {
81+
addrStr := addr.String()
82+
if cl, exists := server.clients[addrStr]; exists {
83+
return cl
84+
}
85+
return nil
86+
}
87+
88+
func (server *Server) ClientExistsForAddress(addr net.Addr) bool {
89+
client := server.GetClientForAddress(addr)
90+
if client != nil {
91+
return true
92+
} else {
93+
return false
94+
}
95+
}
96+
97+
func (server *Server) AddClient(addr net.Addr) {
98+
addrStr := addr.String()
99+
cl := client.New(addrStr)
100+
server.clients[addrStr] = cl
101+
}
102+
68103
func (server *Server) HeartbeatRequest(handler HandleHeartbeatRequest) {
69104
server.heartbeatRequestHandler = handler
70105
}
@@ -130,6 +165,7 @@ func (server *Server) PFCPSessionReportResponse(handler HandlePFCPSessionReportR
130165
}
131166

132167
func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
168+
133169
header, err := messages.DeserializeHeader(payload)
134170
if err != nil {
135171
log.Fatalf("Error deserializing header: %v", err)
@@ -147,6 +183,13 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
147183
}
148184
payloadMessage := payload[payloadOffset:]
149185

186+
if !server.ClientExistsForAddress(address) {
187+
fmt.Printf("Adding client with address %s\n", address)
188+
server.AddClient(address)
189+
}
190+
191+
pfcpClient := server.GetClientForAddress(address)
192+
150193
switch header.MessageType {
151194
case messages.HeartbeatRequestMessageType:
152195
if server.heartbeatRequestHandler == nil {
@@ -158,7 +201,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
158201
log.Printf("Error deserializing Heartbeat Request: %v", err)
159202
return
160203
}
161-
server.heartbeatRequestHandler(address, header.SequenceNumber, msg)
204+
server.heartbeatRequestHandler(pfcpClient, header.SequenceNumber, msg)
162205
case messages.HeartbeatResponseMessageType:
163206
if server.heartbeatResponseHandler == nil {
164207
log.Printf("No handler for Heartbeat Response")
@@ -169,7 +212,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
169212
log.Printf("Error deserializing Heartbeat Response: %v", err)
170213
return
171214
}
172-
server.heartbeatResponseHandler(address, header.SequenceNumber, msg)
215+
server.heartbeatResponseHandler(pfcpClient, header.SequenceNumber, msg)
173216
case messages.PFCPAssociationSetupRequestMessageType:
174217
if server.pfcpAssociationSetupRequestHandler == nil {
175218
log.Printf("No handler for PFCP Association Setup Request")
@@ -180,7 +223,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
180223
log.Printf("Error deserializing PFCP Association Setup Request: %v", err)
181224
return
182225
}
183-
server.pfcpAssociationSetupRequestHandler(address, header.SequenceNumber, msg)
226+
server.pfcpAssociationSetupRequestHandler(pfcpClient, header.SequenceNumber, msg)
184227
case messages.PFCPAssociationSetupResponseMessageType:
185228
if server.pfcpAssociationSetupResponseHandler == nil {
186229
log.Printf("No handler for PFCP Association Setup Response")
@@ -191,7 +234,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
191234
log.Printf("Error deserializing PFCP Association Setup Response: %v", err)
192235
return
193236
}
194-
server.pfcpAssociationSetupResponseHandler(address, header.SequenceNumber, msg)
237+
server.pfcpAssociationSetupResponseHandler(pfcpClient, header.SequenceNumber, msg)
195238
case messages.PFCPAssociationUpdateRequestMessageType:
196239
if server.pfcpAssociationUpdateRequestHandler == nil {
197240
log.Printf("No handler for PFCP Association Update Request")
@@ -202,7 +245,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
202245
log.Printf("Error deserializing PFCP Association Update Request: %v", err)
203246
return
204247
}
205-
server.pfcpAssociationUpdateRequestHandler(address, header.SequenceNumber, msg)
248+
server.pfcpAssociationUpdateRequestHandler(pfcpClient, header.SequenceNumber, msg)
206249
case messages.PFCPAssociationUpdateResponseMessageType:
207250
if server.pfcpAssociationUpdateResponseHandler == nil {
208251
log.Printf("No handler for PFCP Association Update Response")
@@ -213,7 +256,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
213256
log.Printf("Error deserializing PFCP Association Update Response: %v", err)
214257
return
215258
}
216-
server.pfcpAssociationUpdateResponseHandler(address, header.SequenceNumber, msg)
259+
server.pfcpAssociationUpdateResponseHandler(pfcpClient, header.SequenceNumber, msg)
217260
case messages.PFCPAssociationReleaseRequestMessageType:
218261
if server.pfcpAssociationReleaseRequestHandler == nil {
219262
log.Printf("No handler for PFCP Association Release Request")
@@ -224,7 +267,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
224267
log.Printf("Error deserializing PFCP Association Release Request: %v", err)
225268
return
226269
}
227-
server.pfcpAssociationReleaseRequestHandler(address, header.SequenceNumber, msg)
270+
server.pfcpAssociationReleaseRequestHandler(pfcpClient, header.SequenceNumber, msg)
228271
case messages.PFCPAssociationReleaseResponseMessageType:
229272
if server.pfcpAssociationReleaseResponseHandler == nil {
230273
log.Printf("No handler for PFCP Association Release Response")
@@ -235,7 +278,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
235278
log.Printf("Error deserializing PFCP Association Release Response: %v", err)
236279
return
237280
}
238-
server.pfcpAssociationReleaseResponseHandler(address, header.SequenceNumber, msg)
281+
server.pfcpAssociationReleaseResponseHandler(pfcpClient, header.SequenceNumber, msg)
239282
case messages.PFCPNodeReportRequestMessageType:
240283
if server.pfcpNodeReportRequestHandler == nil {
241284
log.Printf("No handler for PFCP Node Report Request")
@@ -246,7 +289,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
246289
log.Printf("Error deserializing PFCP Node Report Request: %v", err)
247290
return
248291
}
249-
server.pfcpNodeReportRequestHandler(address, header.SequenceNumber, msg)
292+
server.pfcpNodeReportRequestHandler(pfcpClient, header.SequenceNumber, msg)
250293
case messages.PFCPNodeReportResponseMessageType:
251294
if server.pfcpNodeReportResponseHandler == nil {
252295
log.Printf("No handler for PFCP Node Report Response")
@@ -257,7 +300,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
257300
log.Printf("Error deserializing PFCP Node Report Response: %v", err)
258301
return
259302
}
260-
server.pfcpNodeReportResponseHandler(address, header.SequenceNumber, msg)
303+
server.pfcpNodeReportResponseHandler(pfcpClient, header.SequenceNumber, msg)
261304
case messages.PFCPSessionEstablishmentRequestMessageType:
262305
if server.pfcpSessionEstablishmentRequestHandler == nil {
263306
log.Printf("No handler for PFCP Session Establishment Request")
@@ -268,7 +311,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
268311
log.Printf("Error deserializing PFCP Session Establishment Request: %v", err)
269312
return
270313
}
271-
server.pfcpSessionEstablishmentRequestHandler(address, header.SequenceNumber, header.SEID, msg)
314+
server.pfcpSessionEstablishmentRequestHandler(pfcpClient, header.SequenceNumber, header.SEID, msg)
272315
case messages.PFCPSessionEstablishmentResponseMessageType:
273316
if server.pfcpSessionEstablishmentResponseHandler == nil {
274317
log.Printf("No handler for PFCP Session Establishment Response")
@@ -279,7 +322,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
279322
log.Printf("Error deserializing PFCP Session Establishment Response: %v", err)
280323
return
281324
}
282-
server.pfcpSessionEstablishmentResponseHandler(address, header.SequenceNumber, header.SEID, msg)
325+
server.pfcpSessionEstablishmentResponseHandler(pfcpClient, header.SequenceNumber, header.SEID, msg)
283326
case messages.PFCPSessionDeletionRequestMessageType:
284327
if server.pfcpSessionDeletionRequestHandler == nil {
285328
log.Printf("No handler for PFCP Session Deletion Request")
@@ -290,7 +333,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
290333
log.Printf("Error deserializing PFCP Session Deletion Request: %v", err)
291334
return
292335
}
293-
server.pfcpSessionDeletionRequestHandler(address, header.SequenceNumber, header.SEID, msg)
336+
server.pfcpSessionDeletionRequestHandler(pfcpClient, header.SequenceNumber, header.SEID, msg)
294337
case messages.PFCPSessionDeletionResponseMessageType:
295338
if server.pfcpSessionDeletionResponseHandler == nil {
296339
log.Printf("No handler for PFCP Session Deletion Response")
@@ -301,7 +344,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
301344
log.Printf("Error deserializing PFCP Session Deletion Response: %v", err)
302345
return
303346
}
304-
server.pfcpSessionDeletionResponseHandler(address, header.SequenceNumber, header.SEID, msg)
347+
server.pfcpSessionDeletionResponseHandler(pfcpClient, header.SequenceNumber, header.SEID, msg)
305348
case messages.PFCPSessionReportRequestMessageType:
306349
if server.pfcpSessionReportRequestHandler == nil {
307350
log.Printf("No handler for PFCP Session Report Request")
@@ -312,7 +355,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
312355
log.Printf("Error deserializing PFCP Session Report Request: %v", err)
313356
return
314357
}
315-
server.pfcpSessionReportRequestHandler(address, header.SequenceNumber, header.SEID, msg)
358+
server.pfcpSessionReportRequestHandler(pfcpClient, header.SequenceNumber, header.SEID, msg)
316359
case messages.PFCPSessionReportResponseMessageType:
317360
if server.pfcpSessionReportResponseHandler == nil {
318361
log.Printf("No handler for PFCP Session Report Response")
@@ -323,7 +366,7 @@ func (server *Server) handlePFCPMessage(address net.Addr, payload []byte) {
323366
log.Printf("Error deserializing PFCP Session Report Response: %v", err)
324367
return
325368
}
326-
server.pfcpSessionReportResponseHandler(address, header.SequenceNumber, header.SEID, msg)
369+
server.pfcpSessionReportResponseHandler(pfcpClient, header.SequenceNumber, header.SEID, msg)
327370
default:
328371
log.Printf("Unknown PFCP message type: %v", header.MessageType)
329372
}

tests/heartbeat_test.go

Lines changed: 7 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tests
22

33
import (
4-
"net"
54
"sync"
65
"testing"
76
"time"
@@ -17,7 +16,7 @@ var (
1716
heartbeatRequesthandlerCalled bool
1817
heartbeatRequestreceivedRecoveryTimestamp ie.RecoveryTimeStamp
1918
heartbeatRequestReceivedSequenceNumber uint32
20-
heartbeatRequestReceivedRemoteAddress net.Addr
19+
heartbeatRequestReceivedPFCPClient *client.Pfcp
2120
)
2221

2322
var (
@@ -35,16 +34,16 @@ var (
3534
heartbeatResponseReceivedSequenceNumber uint32
3635
)
3736

38-
func HandleHeartbeatRequest(address net.Addr, sequenceNumber uint32, msg messages.HeartbeatRequest) {
37+
func HandleHeartbeatRequest(pfcpClient *client.Pfcp, sequenceNumber uint32, msg messages.HeartbeatRequest) {
3938
heartbeatRequestMu.Lock()
4039
defer heartbeatRequestMu.Unlock()
4140
heartbeatRequesthandlerCalled = true
4241
heartbeatRequestreceivedRecoveryTimestamp = msg.RecoveryTimeStamp
4342
heartbeatRequestReceivedSequenceNumber = sequenceNumber
44-
heartbeatRequestReceivedRemoteAddress = address
43+
heartbeatRequestReceivedPFCPClient = pfcpClient
4544
}
4645

47-
func HandleHeartbeatRequestWithSourceIP(address net.Addr, sequenceNumber uint32, msg messages.HeartbeatRequest) {
46+
func HandleHeartbeatRequestWithSourceIP(pfcpClient *client.Pfcp, sequenceNumber uint32, msg messages.HeartbeatRequest) {
4847
heartbeatRequestWithSourceIPMu.Lock()
4948
defer heartbeatRequestWithSourceIPMu.Unlock()
5049
heartbeatRequestWithSourceIPhandlerCalled = true
@@ -53,7 +52,7 @@ func HandleHeartbeatRequestWithSourceIP(address net.Addr, sequenceNumber uint32,
5352
heartbeatRequestWithSourceIPReceivedSequenceNumber = sequenceNumber
5453
}
5554

56-
func HandleHeartbeatResponse(address net.Addr, sequenceNumber uint32, msg messages.HeartbeatResponse) {
55+
func HandleHeartbeatResponse(pfcpClient *client.Pfcp, sequenceNumber uint32, msg messages.HeartbeatResponse) {
5756
heartbeatResponseMu.Lock()
5857
defer heartbeatResponseMu.Unlock()
5958
heartbeatResponsehandlerCalled = true
@@ -106,9 +105,8 @@ func HeartbeatRequest(t *testing.T) {
106105
t.Errorf("Heartbeat request handler was called with wrong sequence number.\n- Sent sequence number: %v\n- Received sequence number %v\n", sentSequenceNumber, heartbeatRequestReceivedSequenceNumber)
107106
}
108107

109-
remoteAddr := heartbeatRequestReceivedRemoteAddress.String()
110-
if remoteAddr[:9] != "127.0.0.1" {
111-
t.Errorf("Heartbeat request handler was called with wrong remote address.\n- Sent remote address: %v\n- Received remote address %v\n", "127.0.0.1", remoteAddr)
108+
if heartbeatRequestReceivedPFCPClient == nil {
109+
t.Errorf("Heartbeat request handler was called with wrong PFCP client.\n- Sent PFCP client: %v\n- Received PFCP client %v\n", pfcpClient, heartbeatRequestReceivedPFCPClient)
112110
}
113111

114112
heartbeatRequestMu.Unlock()

tests/pfcp_association_release_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tests
22

33
import (
4-
"net"
54
"sync"
65
"testing"
76
"time"
@@ -27,15 +26,15 @@ var (
2726
pfcpAssociationReleaseResponseReceivedCause ie.Cause
2827
)
2928

30-
func HandlePFCPAssociationReleaseRequest(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationReleaseRequest) {
29+
func HandlePFCPAssociationReleaseRequest(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationReleaseRequest) {
3130
pfcpAssociationReleaseRequestMu.Lock()
3231
defer pfcpAssociationReleaseRequestMu.Unlock()
3332
pfcpAssociationReleaseRequesthandlerCalled = true
3433
pfcpAssociationReleaseRequestReceivedSequenceNumber = sequenceNumber
3534
pfcpAssociationReleaseRequestReceivedNodeID = msg.NodeID
3635
}
3736

38-
func HandlePFCPAssociationReleaseResponse(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationReleaseResponse) {
37+
func HandlePFCPAssociationReleaseResponse(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationReleaseResponse) {
3938
pfcpAssociationReleaseResponseMu.Lock()
4039
defer pfcpAssociationReleaseResponseMu.Unlock()
4140
pfcpAssociationReleaseResponsehandlerCalled = true

tests/pfcp_association_setup_test.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package tests
22

33
import (
4-
"net"
54
"sync"
65
"testing"
76
"time"
@@ -30,7 +29,7 @@ var (
3029
pfcpAssociationSetupResponseReceivedCause ie.Cause
3130
)
3231

33-
func HandlePFCPAssociationSetupRequest(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationSetupRequest) {
32+
func HandlePFCPAssociationSetupRequest(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationSetupRequest) {
3433
pfcpAssociationSetupRequestMu.Lock()
3534
defer pfcpAssociationSetupRequestMu.Unlock()
3635
pfcpAssociationSetupRequesthandlerCalled = true
@@ -40,7 +39,7 @@ func HandlePFCPAssociationSetupRequest(address net.Addr, sequenceNumber uint32,
4039
pfcpAssociationSetupRequestReceivedUPFunctionFeatures = msg.UPFunctionFeatures
4140
}
4241

43-
func HandlePFCPAssociationSetupResponse(address net.Addr, sequenceNumber uint32, msg messages.PFCPAssociationSetupResponse) {
42+
func HandlePFCPAssociationSetupResponse(client *client.Pfcp, sequenceNumber uint32, msg messages.PFCPAssociationSetupResponse) {
4443
pfcpAssociationSetupResponseMu.Lock()
4544
defer pfcpAssociationSetupResponseMu.Unlock()
4645
pfcpAssociationSetupResponsehandlerCalled = true

0 commit comments

Comments
 (0)