Documentation
¶
Overview ¶
Package manager is is the main coordinator for the ONOS RAN subsystem.
Index ¶
- Constants
- func NewCells(towersConfig config.TowerConfig) map[types.ECGI]*types.Cell
- func NewLocations(towersConfig config.TowerConfig, maxUEs int, locationsScale float32) map[string]*Location
- func PowerToDist(power float32) float64
- func UeDeepCopy(original *types.Ue) *types.Ue
- type CellIf
- type Location
- type Manager
- func (m *Manager) Close()
- func (m *Manager) CrntiToName(crnti types.Crnti, ecid *types.ECGI) (types.Imsi, error)
- func (m *Manager) DelCrnti(servingTower *types.ECGI, crnti types.Crnti) error
- func (m *Manager) GetCell(name types.ECGI) *types.Cell
- func (m *Manager) GetUe(imsi types.Imsi) (*types.Ue, error)
- func (m *Manager) NewCrnti(servingTower *types.ECGI, imsi types.Imsi) (types.Crnti, error)
- func (m *Manager) NewRoutes(mapLayoutParams types.MapLayout, params RoutesParams) (map[types.Imsi]*types.Route, error)
- func (m *Manager) NewUserEquipments(mapLayoutParams types.MapLayout, params RoutesParams) (map[types.Imsi]*types.Ue, error)
- func (m *Manager) Run(mapLayoutParams types.MapLayout, towerConfig config.TowerConfig, ...)
- func (m *Manager) SetNumberUes(numUes int) error
- func (m *Manager) UeAdmitted(ue *types.Ue)
- func (m *Manager) UeHandover(imsi types.Imsi, newTowerID *types.ECGI) error
- func (m *Manager) UpdateCell(cell types.ECGI, powerAdjust float32) error
- type MetricsParams
- type RoutesParams
Constants ¶
const ( // DefaultTxPower - all cells start with this power level DefaultTxPower = 10 // PowerFactor - relate power to distance in decimal degrees PowerFactor = 0.001 // PowerBase - baseline for power to distance in decimal degrees PowerBase = 0.013 // MaxNeighbours to find - useful limit for hex layouts MaxNeighbours = 6 )
const InvalidCrnti = "0000"
InvalidCrnti ...
const MaxCrnti = 65523
MaxCrnti - Maximum value of CRNTI
Variables ¶
This section is empty.
Functions ¶
func NewLocations ¶
func NewLocations(towersConfig config.TowerConfig, maxUEs int, locationsScale float32) map[string]*Location
NewLocations - create a new set of locations
func PowerToDist ¶ added in v0.6.1
PowerToDist - convert power in dB to distance in decimal degrees
Types ¶
type Manager ¶
type Manager struct {
MapLayout types.MapLayout
Cells map[types.ECGI]*types.Cell
CellsLock *sync.RWMutex
Locations map[string]*Location
Routes map[types.Imsi]*types.Route
UserEquipments map[types.Imsi]*types.Ue
UserEquipmentsLock *sync.RWMutex
UserEquipmentsMapLock *sync.RWMutex
Dispatcher *dispatcher.Dispatcher
UeChannel chan dispatcher.Event
RouteChannel chan dispatcher.Event
CellsChannel chan dispatcher.Event
LatencyChannel chan metrics.HOEvent
ResetMetricsChannel chan bool
TopoClient device.DeviceServiceClient
AspectRatio float64
// contains filtered or unexported fields
}
Manager single point of entry for the trafficsim system.
func GetManager ¶
func GetManager() *Manager
GetManager returns the initialized and running instance of manager. Should be called only after NewManager and Run are done.
func (*Manager) Close ¶
func (m *Manager) Close()
Close kills the channels and manager related objects
func (*Manager) CrntiToName ¶
CrntiToName ...
func (*Manager) NewRoutes ¶
func (m *Manager) NewRoutes(mapLayoutParams types.MapLayout, params RoutesParams) (map[types.Imsi]*types.Route, error)
NewRoutes Create new routes, by taking two random locations and asking Google for directions to get from one to the other
func (*Manager) NewUserEquipments ¶
func (m *Manager) NewUserEquipments(mapLayoutParams types.MapLayout, params RoutesParams) (map[types.Imsi]*types.Ue, error)
NewUserEquipments - create a new set of UEs (phone, car etc)
func (*Manager) Run ¶
func (m *Manager) Run(mapLayoutParams types.MapLayout, towerConfig config.TowerConfig, routesParams RoutesParams, topoEndpoint string, serverParams utils.ServerParams, metricsParams MetricsParams)
Run starts a synchronizer based on the devices and the northbound services.
func (*Manager) SetNumberUes ¶
SetNumberUes - change the number of active UEs
func (*Manager) UeAdmitted ¶
UeAdmitted - called when the Admission Request for the UE is processed This causes the first RadioMeasurementReport to be sent
func (*Manager) UeHandover ¶
UeHandover perform the handover on simulated UE
type MetricsParams ¶
MetricsParams for the Prometheus exporter
type RoutesParams ¶
RoutesParams :