Merge "[RIC-435] DevOps: Create Simulator on K8S"
[ric-plt/e2mgr.git] / E2Manager / models / e2_request_message.go
1 //
2 // Copyright 2019 AT&T Intellectual Property
3 // Copyright 2019 Nokia
4 //
5 // Licensed under the Apache License, Version 2.0 (the "License");
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //      http://www.apache.org/licenses/LICENSE-2.0
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16
17 //  This source code is part of the near-RT RIC (RAN Intelligent Controller)
18 //  platform project (RICP).
19
20
21 package models
22
23 import (
24         "e2mgr/logger"
25         "fmt"
26 )
27
28 type E2RequestMessage struct {
29         transactionId string
30         ranIp         string
31         ranPort       uint16
32         ranName       string
33         payload       []byte
34 }
35
36 func (e2RequestMessage E2RequestMessage) RanName() string {
37         return e2RequestMessage.ranName
38 }
39
40 func (e2RequestMessage E2RequestMessage) TransactionId() string {
41         return e2RequestMessage.transactionId
42 }
43
44 func NewE2RequestMessage(transactionId string, ranIp string, ranPort uint16, ranName string, payload []byte) *E2RequestMessage {
45         return &E2RequestMessage{transactionId: transactionId, ranIp: ranIp, ranPort: ranPort, ranName: ranName, payload: payload}
46 }
47
48 // TODO: this shouldn't receive logger
49 func (e2RequestMessage E2RequestMessage) GetMessageAsBytes(logger *logger.Logger) []byte {
50         messageStringWithoutPayload := fmt.Sprintf("%s|%d|%s|%d|", e2RequestMessage.ranIp, e2RequestMessage.ranPort, e2RequestMessage.ranName, len(e2RequestMessage.payload))
51         logger.Debugf("#e2_request_message.GetMessageAsBytes - messageStringWithoutPayload: %s", messageStringWithoutPayload)
52         messageBytesWithoutPayload := []byte(messageStringWithoutPayload)
53         return append(messageBytesWithoutPayload, e2RequestMessage.payload...)
54 }