> The generated `<data_model>.pb.go` files will contain all the protocol buffer code to populate, serialize, and retrieve request and response message types defined in the `models` folder.
> The `bwm_service_grpc.pb.go` will contain the stubs for the methods defined in the `bwm_service.proto` file.
### Ruby
1. Install gRPC Ruby Plugin and required tools
```sh
$ gem install grpc
$ sudo apt install ruby-grpc-tools
```
2. Generate code
```sh
$ mkdir ruby-stubs
```
Run the following command to create Ruby modules for all the data models defined in the proto files.
Run the following command to generate `bwm_service_pb.rb` and `bwm_service_services_pb.rb` files, containing stub and service classes for the endpoints and methods defined in BWM service.
// The direction of the requested BW allocation: 00 = Downlink (towards the UE) 01 = Uplink (towards the application/session) 10 = Symmetrical
stringallocationDirection=3;
// Application instance identifier
stringappInsId=4;
// Size of requested fixed BW allocation in [bps]
stringfixedAllocation=5;
// Indicates the allocation priority when dealing with several applications or sessions in parallel. Values are not defined in the present document
enumFixedBWPriorityEnum{
SEE_DESCRIPTION=0;
}
FixedBWPriorityEnumfixedBWPriority=6;
// Numeric value (0 - 255) corresponding to specific type of consumer as following: 0 = APPLICATION_SPECIFIC_BW_ALLOCATION 1 = SESSION_SPECIFIC_BW_ALLOCATION
enumRequestTypeEnum{
_0=0;
_1=1;
}
RequestTypeEnumrequestType=7;
// Session filtering criteria, applicable when requestType is set as SESSION_SPECIFIC_BW_ALLOCATION. Any filtering criteria shall define a single session only. In case multiple sessions match sessionFilter the request shall be rejected