Documentation ¶
Index ¶
- func CloseProject(prjId string) error
- func GetAllProjects() map[string]*NetemProject
- func GetProjectConfigs(prjId string) (*bytes.Buffer, error)
- func IdProjectExist(prjID string) bool
- func IsProjectExist(prjName string) bool
- func NewServer() *netemServer
- func SaveProject(prjId string) (*bytes.Buffer, error)
- type BridgeConfig
- type INetemNode
- type LinkConfig
- type NetemBridge
- type NetemLink
- type NetemLinkPeer
- type NetemProject
- type NetemTopology
- type NetemTopologyManager
- func (t *NetemTopologyManager) Check() error
- func (t *NetemTopologyManager) Close() error
- func (t *NetemTopologyManager) GetAllNodes() []INetemNode
- func (t *NetemTopologyManager) GetNetFilePath() string
- func (t *NetemTopologyManager) GetNode(name string) INetemNode
- func (t *NetemTopologyManager) IsRunning() bool
- func (t *NetemTopologyManager) Load() error
- func (t *NetemTopologyManager) ReadConfigFiles(nodeName string) (map[string][]byte, error)
- func (t *NetemTopologyManager) ReadNetworkFile() ([]byte, error)
- func (t *NetemTopologyManager) Reload() ([]*proto.RunResponse_NodeMessages, error)
- func (t *NetemTopologyManager) Run() ([]*proto.RunResponse_NodeMessages, error)
- func (t *NetemTopologyManager) Save() error
- func (t *NetemTopologyManager) Start(nodeName string) ([]string, error)
- func (t *NetemTopologyManager) Stop(nodeName string) error
- func (t *NetemTopologyManager) WriteNetworkFile(data []byte) error
- type NodeConfig
- type NodeIdentifierGenerator
- type NodeNotFoundError
- type ProjectNotFoundError
- type VrrpOptions
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CloseProject ¶
func GetAllProjects ¶
func GetAllProjects() map[string]*NetemProject
func GetProjectConfigs ¶ added in v0.1.4
func IdProjectExist ¶
func IsProjectExist ¶
Types ¶
type BridgeConfig ¶
type INetemNode ¶
type INetemNode interface { GetName() string GetShortName() string GetType() string IsRunning() bool Start() error Stop() error GetNetns() (netns.NsHandle, error) GetInterfaceName(ifIndex int) string AddInterface(ifName string, ifIndex int, ns netns.NsHandle) error LoadConfig(confPath string) ([]string, error) CanRunConsole() error Console(shell bool, in io.ReadCloser, out io.Writer, resizeCh chan term.Winsize) error Capture(ifIndex int, out io.Writer) error CopyFrom(srcPath, destPath string) error CopyTo(srcPath, destPath string) error ReadConfigFiles(confDir string) (map[string][]byte, error) Save(dstPath string) error GetInterfacesState() map[string]link.IfState SetInterfaceState(ifIndex int, state link.IfState) error Close() error }
func CreateNode ¶
func CreateNode(prjID string, name string, shortName string, config NodeConfig) (INetemNode, error)
type LinkConfig ¶
type NetemBridge ¶
type NetemBridge struct { Name string HostInterface string Peers []NetemLinkPeer }
type NetemLink ¶
type NetemLink struct { Peer1 NetemLinkPeer Peer2 NetemLinkPeer Loss float64 Delay int Jitter int // ms Rate int // kbps Buffer float64 // BDP scale factor }
type NetemLinkPeer ¶
type NetemLinkPeer struct { Node INetemNode IfIndex int }
type NetemProject ¶
type NetemProject struct { Id string Name string Dir string OpenAt time.Time Topology *NetemTopologyManager }
func GetProject ¶
func GetProject(prjID string) *NetemProject
func OpenProject ¶
func OpenProject(prjId, name string, data []byte) (*NetemProject, error)
type NetemTopology ¶
type NetemTopology struct { Nodes map[string]NodeConfig Links []LinkConfig Bridges map[string]BridgeConfig }
func CheckTopology ¶
func CheckTopology(filepath string) (*NetemTopology, []error)
type NetemTopologyManager ¶
type NetemTopologyManager struct { IdGenerator *NodeIdentifierGenerator // contains filtered or unexported fields }
func LoadTopology ¶
func LoadTopology(prjID, prjPath string) (*NetemTopologyManager, error)
func (*NetemTopologyManager) Check ¶
func (t *NetemTopologyManager) Check() error
func (*NetemTopologyManager) Close ¶
func (t *NetemTopologyManager) Close() error
func (*NetemTopologyManager) GetAllNodes ¶
func (t *NetemTopologyManager) GetAllNodes() []INetemNode
func (*NetemTopologyManager) GetNetFilePath ¶
func (t *NetemTopologyManager) GetNetFilePath() string
func (*NetemTopologyManager) GetNode ¶
func (t *NetemTopologyManager) GetNode(name string) INetemNode
func (*NetemTopologyManager) IsRunning ¶
func (t *NetemTopologyManager) IsRunning() bool
func (*NetemTopologyManager) Load ¶
func (t *NetemTopologyManager) Load() error
func (*NetemTopologyManager) ReadConfigFiles ¶ added in v0.2.0
func (t *NetemTopologyManager) ReadConfigFiles(nodeName string) (map[string][]byte, error)
func (*NetemTopologyManager) ReadNetworkFile ¶
func (t *NetemTopologyManager) ReadNetworkFile() ([]byte, error)
func (*NetemTopologyManager) Reload ¶
func (t *NetemTopologyManager) Reload() ([]*proto.RunResponse_NodeMessages, error)
func (*NetemTopologyManager) Run ¶
func (t *NetemTopologyManager) Run() ([]*proto.RunResponse_NodeMessages, error)
func (*NetemTopologyManager) Save ¶
func (t *NetemTopologyManager) Save() error
func (*NetemTopologyManager) Start ¶
func (t *NetemTopologyManager) Start(nodeName string) ([]string, error)
func (*NetemTopologyManager) Stop ¶
func (t *NetemTopologyManager) Stop(nodeName string) error
func (*NetemTopologyManager) WriteNetworkFile ¶
func (t *NetemTopologyManager) WriteNetworkFile(data []byte) error
type NodeConfig ¶
type NodeIdentifierGenerator ¶ added in v0.1.1
type NodeIdentifierGenerator struct {
// contains filtered or unexported fields
}
func (*NodeIdentifierGenerator) Close ¶ added in v0.1.1
func (nIdGen *NodeIdentifierGenerator) Close()
type NodeNotFoundError ¶
type NodeNotFoundError struct {
// contains filtered or unexported fields
}
func (*NodeNotFoundError) Error ¶
func (e *NodeNotFoundError) Error() string
type ProjectNotFoundError ¶
type ProjectNotFoundError struct {
Id string
}
func (*ProjectNotFoundError) Error ¶
func (e *ProjectNotFoundError) Error() string
type VrrpOptions ¶ added in v0.1.1
Click to show internal directories.
Click to hide internal directories.