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

Commit

Permalink
chore: Improves code linting
Browse files Browse the repository at this point in the history
  • Loading branch information
gruyaume committed Jan 22, 2024
1 parent 42dfdde commit 9ac0264
Show file tree
Hide file tree
Showing 40 changed files with 122 additions and 207 deletions.
50 changes: 25 additions & 25 deletions client/client.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,35 +26,35 @@ type PfcpClienter interface {
SendPFCPSessionReportResponse(msg messages.PFCPSessionReportResponse, seid uint64, sequenceNumber uint32) error
}

var _ PfcpClienter = (*Pfcp)(nil)
var _ PfcpClienter = (*PFCP)(nil)

type Pfcp struct {
type PFCP struct {
ServerAddress string
Udp network.UdpSender
Udp network.UDPSender
}

func New(ServerAddress string) *Pfcp {
udpClient, err := network.NewUdp(ServerAddress)
func New(ServerAddress string) *PFCP {
udpClient, err := network.NewUDP(ServerAddress)
if err != nil {
log.Printf("Failed to initialize PFCP client: %v\n", err)
return nil
}
return &Pfcp{ServerAddress: ServerAddress, Udp: udpClient}
return &PFCP{ServerAddress: ServerAddress, Udp: udpClient}
}

func (pfcp *Pfcp) sendNodePfcpMessage(message messages.PFCPMessage, sequenceNumber uint32) error {
func (pfcp *PFCP) sendNodePfcpMessage(message messages.PFCPMessage, sequenceNumber uint32) error {
messageType := message.GetMessageType()
header := messages.NewNodeHeader(messageType, sequenceNumber)
return pfcp.sendPfcpMessage(message, header)
}

func (pfcp *Pfcp) sendSessionPfcpMessage(message messages.PFCPMessage, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) sendSessionPfcpMessage(message messages.PFCPMessage, seid uint64, sequenceNumber uint32) error {
messageType := message.GetMessageType()
header := messages.NewSessionHeader(messageType, seid, sequenceNumber)
return pfcp.sendPfcpMessage(message, header)
}

func (pfcp *Pfcp) sendPfcpMessage(message messages.PFCPMessage, header messages.Header) error {
func (pfcp *PFCP) sendPfcpMessage(message messages.PFCPMessage, header messages.Header) error {
messageName := message.GetMessageTypeString()
payload := messages.Serialize(message, header)
if err := pfcp.Udp.Send(payload); err != nil {
Expand All @@ -65,66 +65,66 @@ func (pfcp *Pfcp) sendPfcpMessage(message messages.PFCPMessage, header messages.
return nil
}

func (pfcp *Pfcp) SendHeartbeatRequest(msg messages.HeartbeatRequest, sequenceNumber uint32) error {
func (pfcp *PFCP) SendHeartbeatRequest(msg messages.HeartbeatRequest, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendHeartbeatResponse(msg messages.HeartbeatResponse, sequenceNumber uint32) error {
func (pfcp *PFCP) SendHeartbeatResponse(msg messages.HeartbeatResponse, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPAssociationSetupRequest(msg messages.PFCPAssociationSetupRequest, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPAssociationSetupRequest(msg messages.PFCPAssociationSetupRequest, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPAssociationSetupResponse(msg messages.PFCPAssociationSetupResponse, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPAssociationSetupResponse(msg messages.PFCPAssociationSetupResponse, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPAssociationUpdateRequest(msg messages.PFCPAssociationUpdateRequest, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPAssociationUpdateRequest(msg messages.PFCPAssociationUpdateRequest, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPAssociationUpdateResponse(msg messages.PFCPAssociationUpdateResponse, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPAssociationUpdateResponse(msg messages.PFCPAssociationUpdateResponse, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPAssociationReleaseRequest(msg messages.PFCPAssociationReleaseRequest, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPAssociationReleaseRequest(msg messages.PFCPAssociationReleaseRequest, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPAssociationReleaseResponse(msg messages.PFCPAssociationReleaseResponse, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPAssociationReleaseResponse(msg messages.PFCPAssociationReleaseResponse, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPNodeReportRequest(msg messages.PFCPNodeReportRequest, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPNodeReportRequest(msg messages.PFCPNodeReportRequest, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPNodeReportResponse(msg messages.PFCPNodeReportResponse, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPNodeReportResponse(msg messages.PFCPNodeReportResponse, sequenceNumber uint32) error {
return pfcp.sendNodePfcpMessage(msg, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPSessionEstablishmentRequest(msg messages.PFCPSessionEstablishmentRequest, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPSessionEstablishmentRequest(msg messages.PFCPSessionEstablishmentRequest, seid uint64, sequenceNumber uint32) error {
return pfcp.sendSessionPfcpMessage(msg, seid, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPSessionEstablishmentResponse(msg messages.PFCPSessionEstablishmentResponse, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPSessionEstablishmentResponse(msg messages.PFCPSessionEstablishmentResponse, seid uint64, sequenceNumber uint32) error {
return pfcp.sendSessionPfcpMessage(msg, seid, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPSessionDeletionRequest(msg messages.PFCPSessionDeletionRequest, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPSessionDeletionRequest(msg messages.PFCPSessionDeletionRequest, seid uint64, sequenceNumber uint32) error {
return pfcp.sendSessionPfcpMessage(msg, seid, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPSessionDeletionResponse(msg messages.PFCPSessionDeletionResponse, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPSessionDeletionResponse(msg messages.PFCPSessionDeletionResponse, seid uint64, sequenceNumber uint32) error {
return pfcp.sendSessionPfcpMessage(msg, seid, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPSessionReportRequest(msg messages.PFCPSessionReportRequest, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPSessionReportRequest(msg messages.PFCPSessionReportRequest, seid uint64, sequenceNumber uint32) error {
return pfcp.sendSessionPfcpMessage(msg, seid, sequenceNumber)
}

func (pfcp *Pfcp) SendPFCPSessionReportResponse(msg messages.PFCPSessionReportResponse, seid uint64, sequenceNumber uint32) error {
func (pfcp *PFCP) SendPFCPSessionReportResponse(msg messages.PFCPSessionReportResponse, seid uint64, sequenceNumber uint32) error {
return pfcp.sendSessionPfcpMessage(msg, seid, sequenceNumber)
}
7 changes: 3 additions & 4 deletions client/client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,16 @@ import (
"github.com/dot-5g/pfcp/messages"
)

type MockUdpSender struct {
type MockUDPSender struct {
SendFunc func(msg []byte) error
}

func (m *MockUdpSender) Send(msg []byte) error {
func (m *MockUDPSender) Send(msg []byte) error {
return m.SendFunc(msg)
}

func TestGivenPfcpWhenSendHeartbeatRequestThenNoError(t *testing.T) {
mockSender := &MockUdpSender{
mockSender := &MockUDPSender{
SendFunc: func(msg []byte) error {
return nil
},
Expand All @@ -41,5 +41,4 @@ func TestGivenPfcpWhenSendHeartbeatRequestThenNoError(t *testing.T) {
if err != nil {
t.Errorf("SendHeartbeatRequest failed: %v", err)
}

}
24 changes: 12 additions & 12 deletions ie/apply_action.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,46 +132,46 @@ func NewApplyAction(flag ApplyActionFlag, extraFlags []ApplyActionExtraFlag) (Ap
}, nil
}

func (applyaction ApplyAction) Serialize() []byte {
func (applyAction ApplyAction) Serialize() []byte {
buf := new(bytes.Buffer)

// Octet 5: DFRT (bit 8), IPMD (bit 7), IPMA (bit 6), DUPL (bit 5), NOCP (bit 4), BUFF (bit 3), FORW (bit 2), DROP (bit 1)
var byte5 byte
if applyaction.DFRT {
if applyAction.DFRT {
byte5 |= 1 << 7
}
if applyaction.IPMD {
if applyAction.IPMD {
byte5 |= 1 << 6
}
if applyaction.IPMA {
if applyAction.IPMA {
byte5 |= 1 << 5
}
if applyaction.DUPL {
if applyAction.DUPL {
byte5 |= 1 << 4
}
if applyaction.NOCP {
if applyAction.NOCP {
byte5 |= 1 << 3
}
if applyaction.BUFF {
if applyAction.BUFF {
byte5 |= 1 << 2
}
if applyaction.FORW {
if applyAction.FORW {
byte5 |= 1 << 1
}
if applyaction.DROP {
if applyAction.DROP {
byte5 |= 1
}
buf.WriteByte(byte5)

// Octet 6: Spare (bits 8 to 4), DDPN (bit 3), BDPN (bit 2), EDRT (bit 1)
var byte6 byte
if applyaction.DDPN {
if applyAction.DDPN {
byte6 |= 1 << 2
}
if applyaction.BDPN {
if applyAction.BDPN {
byte6 |= 1 << 1
}
if applyaction.EDRT {
if applyAction.EDRT {
byte6 |= 1
}
buf.WriteByte(byte6)
Expand Down
1 change: 0 additions & 1 deletion ie/cause.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ func (cause Cause) GetType() IEType {
}

func DeserializeCause(ieValue []byte) (Cause, error) {

if len(ieValue) != 1 {
return Cause{}, fmt.Errorf("invalid length for Cause: got %d bytes, want 1", len(ieValue))
}
Expand Down
3 changes: 1 addition & 2 deletions ie/create_far.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ type CreateFAR struct {
}

func NewCreateFAR(farid FARID, applyaction ApplyAction) (CreateFAR, error) {

return CreateFAR{
FARID: farid,
ApplyAction: applyaction,
Expand Down Expand Up @@ -40,7 +39,7 @@ func (createFAR CreateFAR) GetIEs() []InformationElement {
return []InformationElement{createFAR.FARID, createFAR.ApplyAction}
}

func (createfar CreateFAR) GetType() IEType {
func (createFAR CreateFAR) GetType() IEType {
return CreateFARIEType
}

Expand Down
13 changes: 6 additions & 7 deletions ie/create_far_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import (
)

func TestGivenCorrectValuesWhenNewFarThenFieldsSetCorrectly(t *testing.T) {
farId, err := ie.NewFarID(1)
farID, err := ie.NewFarID(1)

if err != nil {
t.Fatalf("Error creating FARID: %v", err)
Expand All @@ -20,7 +20,7 @@ func TestGivenCorrectValuesWhenNewFarThenFieldsSetCorrectly(t *testing.T) {
t.Fatalf("Error creating ApplyAction: %v", err)
}

createFar, err := ie.NewCreateFAR(farId, applyAction)
createFar, err := ie.NewCreateFAR(farID, applyAction)

if err != nil {
t.Fatalf("Error creating CreateFAR: %v", err)
Expand Down Expand Up @@ -73,11 +73,10 @@ func TestGivenCorrectValuesWhenNewFarThenFieldsSetCorrectly(t *testing.T) {
if createFar.ApplyAction.BDPN != false {
t.Errorf("Expected BDPN false, got %v", createFar.ApplyAction.BDPN)
}

}

func TestGivenSerializedWhenDeserializeCreateFarThenFieldsSetCorrectly(t *testing.T) {
farId, err := ie.NewFarID(1)
farID, err := ie.NewFarID(1)
if err != nil {
t.Fatalf("Error creating FARID: %v", err)
}
Expand All @@ -88,7 +87,7 @@ func TestGivenSerializedWhenDeserializeCreateFarThenFieldsSetCorrectly(t *testin
if err != nil {
t.Fatalf("Error creating ApplyAction: %v", err)
}
createFar, err := ie.NewCreateFAR(farId, applyAction)
createFar, err := ie.NewCreateFAR(farID, applyAction)

if err != nil {
t.Fatalf("Error creating CreateFAR: %v", err)
Expand All @@ -102,8 +101,8 @@ func TestGivenSerializedWhenDeserializeCreateFarThenFieldsSetCorrectly(t *testin
t.Fatalf("Error deserializing CreateFAR: %v", err)
}

if deserialized.FARID != farId {
t.Errorf("Expected FARID %v, got %v", farId, deserialized.FARID)
if deserialized.FARID != farID {
t.Errorf("Expected FARID %v, got %v", farID, deserialized.FARID)
}

if deserialized.ApplyAction != applyAction {
Expand Down
1 change: 0 additions & 1 deletion ie/create_pdr.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ func (createPDR CreatePDR) Serialize() []byte {
}

return buf.Bytes()

}

func (createPDR CreatePDR) GetIEs() []InformationElement {
Expand Down
1 change: 0 additions & 1 deletion ie/create_pdr_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -198,5 +198,4 @@ func TestGivenSerializedWhenDeserializeCreatePDRThenFieldsSetCorrectly(t *testin
if deserialized.PDI.UEIPAddress.IPv6PrefixLength != 0 {
t.Errorf("Expected CreatePDR PDI UEIPAddress IPv6PrefixLength 0, got %d", deserialized.PDI.UEIPAddress.IPv6PrefixLength)
}

}
4 changes: 0 additions & 4 deletions ie/fseid_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ func TestGivenValidIPv4AddressWhenNewFSEIDThenFieldsAreSetCorrectly(t *testing.T
t.Errorf("Expected FSEID IPv4 %v, got %v", expectedIPv4, fseid.IPv4)
}
}

}

func TestGivenValidIPv6AddressWhenNewFSEIDThenFieldsAreSetCorrectly(t *testing.T) {
Expand Down Expand Up @@ -64,7 +63,6 @@ func TestGivenValidIPv6AddressWhenNewFSEIDThenFieldsAreSetCorrectly(t *testing.T
t.Errorf("Expected FSEID IPv6 %v, got %v", expectedIPv6, fseid.IPv6)
}
}

}

func TestGivenIPv4AndIPv6AddressWhenNewFSEIDThenFieldsAreSetCorrectly(t *testing.T) {
Expand Down Expand Up @@ -101,7 +99,6 @@ func TestGivenIPv4AndIPv6AddressWhenNewFSEIDThenFieldsAreSetCorrectly(t *testing
t.Errorf("Expected FSEID IPv6 %v, got %v", expectedIPv6, fseid.IPv6)
}
}

}

func TestGivenIPv4SerializedWhenDeserializeThenFieldsSetCorrectly(t *testing.T) {
Expand Down Expand Up @@ -150,5 +147,4 @@ func TestGivenIPv4SerializedWhenDeserializeThenFieldsSetCorrectly(t *testing.T)
t.Errorf("Expected FSEID IPv6 %v, got %v", expectedIPv6, deserialized.IPv6)
}
}

}
2 changes: 1 addition & 1 deletion ie/header.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ func (ieHeader *Header) Serialize() []byte {
binary.Write(buf, binary.BigEndian, uint16(ieHeader.Type))

// Octets 3 to 4: Length
binary.Write(buf, binary.BigEndian, uint16(ieHeader.Length))
binary.Write(buf, binary.BigEndian, ieHeader.Length)

return buf.Bytes()
}
18 changes: 7 additions & 11 deletions ie/ie.go
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
// Package ie contains the Information Elements (IEs) used by the PFCP protocol.
package ie

import (
Expand Down Expand Up @@ -47,18 +48,13 @@ func DeserializeInformationElements(b []byte) ([]InformationElement, error) {
ieLength := binary.BigEndian.Uint16(b[index+2 : index+4])
index += HeaderLength

ieHeader := Header{
Type: ieType,
Length: ieLength,
if len(b[index:]) < int(ieLength) {
return nil, fmt.Errorf("not enough bytes for IE data, expected %d, got %d", ieLength, len(b[index:]))
}

if len(b[index:]) < int(ieHeader.Length) {
return nil, fmt.Errorf("not enough bytes for IE data, expected %d, got %d", ieHeader.Length, len(b[index:]))
}

ieValue := b[index : index+int(ieHeader.Length)]
ieValue := b[index : index+int(ieLength)]
var ie InformationElement
switch ieHeader.Type {
switch ieType {
case CauseIEType:
ie, err = DeserializeCause(ieValue)
case NodeIDIEType:
Expand Down Expand Up @@ -94,14 +90,14 @@ func DeserializeInformationElements(b []byte) ([]InformationElement, error) {
case UEIPAddressIEType:
ie, err = DeserializeUEIPAddress(ieValue)
default:
err = fmt.Errorf("unknown IE type %d", ieHeader.Type)
err = fmt.Errorf("unknown IE type %d", ieType)
}

if ie != nil {
ies = append(ies, ie)
}

index += int(ieHeader.Length)
index += int(ieLength)
}

return ies, err
Expand Down
1 change: 0 additions & 1 deletion ie/nodeId.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,6 @@ func (n NodeID) GetType() IEType {
}

func DeserializeNodeID(ieValue []byte) (NodeID, error) {

if len(ieValue) < 1 {
return NodeID{}, fmt.Errorf("invalid length for NodeID: got %d bytes, expected at least 1", len(ieValue))
}
Expand Down
Loading

0 comments on commit 9ac0264

Please sign in to comment.