class Flow
Attributes
distribution_rate[RW]
distribution_size[RW]
id[RW]
paths[RW]
priority[RW]
Public Class Methods
new(id, priority, paths, distribution_rate, distribution_size)
click to toggle source
# File lib/network_entities/abstracts/flow.rb, line 14 def initialize(id, priority, paths, distribution_rate, distribution_size) raise "Invalid 'priority' argument received. Priority must be a number, #{priority} was received" unless priority.is_a? Integer raise "Invalid 'paths' argument received. 'paths' must be an instance of Arry class, however the path received has class #{paths.class}" unless paths.is_a? Array raise "Invalid 'distribution_rate' received. Distribution rate cannot be nil" unless distribution_rate raise "Invalid 'distribution_size' received. Distribution size cannot be nil" unless distribution_size raise "Invalid 'distribution_rate' #{distribution_rate}. It is expected that the rate is an instance of a distribution" unless [ConstantDistribution, ExponentialDistribution, NormalDistribution, ParetoDistribution, SplitDistribution, FelixDistribution].include? distribution_rate.class raise "Invalid 'distribution_size' #{distribution_size}. It is expected that the size is an instance of a distribution" unless [ConstantDistribution, ExponentialDistribution, NormalDistribution, ParetoDistribution, SplitDistribution, FelixDistribution].include? distribution_size.class @id = id @priority = priority @paths = paths @distribution_rate = distribution_rate @distribution_size = distribution_size end