Changes
Page history
Auto-updated UML diagram via goplantuml CI job
authored
May 03, 2021
by
Manuel Kieweg
Hide whitespace changes
Inline
Side-by-side
home.md
View page @
5ea2c3d8
...
...
@@ -69,6 +69,12 @@ namespace nucleus {
class ErrNotYetImplemented << (S,Aquamarine) >> {
+ Error() string
}
class ErrOperationNotSupported << (S,Aquamarine) >> {
- o <font color=blue>interface</font>{}
+ Error() string
}
class ErrUnsupportedPath << (S,Aquamarine) >> {
- p <font color=blue>interface</font>{}
...
...
@@ -84,6 +90,7 @@ namespace nucleus {
+ Unmarshal <font color=blue>func</font>([]byte, []string, <font color=blue>interface</font>{}, ...ytypes.UnmarshalOpt) error
+ Options *GnmiTransportOptions
- applyDiff(ctx context.Context, payload ...<font color=blue>interface</font>{}) error
- get(ctx context.Context, paths [][]string, origin string) (<font color=blue>interface</font>{}, error)
- getWithRequest(ctx context.Context, req *gnmi.GetRequest) (<font color=blue>interface</font>{}, error)
- set(ctx context.Context, setOps []*gnmi.Operation, exts ...*gnmi_ext.Extension) (*gnmi.SetResponse, error)
...
...
@@ -92,7 +99,7 @@ namespace nucleus {
+ SetOptions(to TransportOptions)
+ GetOptions() <font color=blue>interface</font>{}
+ Get(ctx context.Context, params ...string) (<font color=blue>interface</font>{}, error)
+ Set(ctx context.Context, args ...<font color=blue>interface</font>{})
(<font color=blue>interface</font>{},
error
)
+ Set(ctx context.Context, args ...<font color=blue>interface</font>{}) error
+ Subscribe(ctx context.Context, params ...string) error
+ Type() string
+ ProcessResponse(resp <font color=blue>interface</font>{}, root <font color=blue>interface</font>{}, s *ytypes.Schema) error
...
...
@@ -127,7 +134,10 @@ namespace nucleus {
+ AddSbi( <font color=blue>interface</font>{}) error
+ RemoveSbi( uuid.UUID) error
+ AddDevice( <font color=blue>interface</font>{}) error
+ GetDevice(uuid uuid.UUID) (ygot.GoStruct, error)
+ RemoveDevice( uuid.UUID) error
+ Devices() []uuid.UUID
+ ChangeOND(uuid uuid.UUID, operation <font color=blue>interface</font>{}, path string, value ...string) error
+ Request( uuid.UUID, string) error
+ RequestAll( string) error
+ GetName() string
...
...
@@ -136,13 +146,18 @@ namespace nucleus {
+ ContainsDevice( uuid.UUID) bool
+ GetSBIs() <font color=blue>interface</font>{}
+ ID() uuid.UUID
+ Pending() []uuid.UUID
+ Committed() []uuid.UUID
+ Commit( uuid.UUID) error
+ Confirm( uuid.UUID) error
}
class Restconf << (S,Aquamarine) >> {
+ Get(ctx context.Context, params ...string) (<font color=blue>interface</font>{}, error)
+ Set(ctx context.Context, params ...
string) (
<font color=blue>interface</font>{}
,
error
)
+ Set(ctx context.Context, params ...<font color=blue>interface</font>{}
)
error
+ Subscribe(ctx context.Context, params ...string) error
+ Type() string
+ GetOptions() <font color=blue>interface</font>{}
+ ProcessResponse(resp <font color=blue>interface</font>{}, root <font color=blue>interface</font>{}, models *ytypes.Schema) error
}
...
...
@@ -161,7 +176,7 @@ namespace nucleus {
}
interface Transport {
+ Get(ctx context.Context, params ...string) (<font color=blue>interface</font>{}, error)
+ Set(ctx context.Context, params ...<font color=blue>interface</font>{})
(<font color=blue>interface</font>{},
error
)
+ Set(ctx context.Context, params ...<font color=blue>interface</font>{}) error
+ Subscribe(ctx context.Context, params ...string) error
+ Type() string
+ GetOptions() <font color=blue>interface</font>{}
...
...
@@ -180,6 +195,10 @@ namespace nucleus {
+ Consume(reader io.Reader, _ <font color=blue>interface</font>{}) error
}
class changeStore << (S,Aquamarine) >> {
- get(id uuid.UUID) (*pnd.Change, error)
}
class deviceStore << (S,Aquamarine) >> {
- get(id uuid.UUID) (*Device, error)
...
...
@@ -187,6 +206,8 @@ namespace nucleus {
}
class nucleus.CtxKeyType << (T, #FF7700) >> {
}
class nucleus.Operation << (T, #FF7700) >> {
}
class nucleus.store << (T, #FF7700) >> {
}
class pndImplementation << (S,Aquamarine) >> {
...
...
@@ -194,7 +215,11 @@ namespace nucleus {
- description string
- sbic sbiStore
- devices deviceStore
- pendingChanges changeStore
- committedChanges changeStore
- confirmedChanges changeStore
- id uuid.UUID
- errChans <font color=blue>map</font>[uuid.UUID]<font color=blue>chan</font> error
- addSbi(sbi SouthboundInterface) error
- removeSbi(id uuid.UUID) error
...
...
@@ -202,7 +227,12 @@ namespace nucleus {
- getDevice(id uuid.UUID) (*Device, error)
- removeDevice(id uuid.UUID) error
+ Pending() []uuid.UUID
+ Committed() []uuid.UUID
+ Commit(u uuid.UUID) error
+ Confirm(u uuid.UUID) error
+ ID() uuid.UUID
+ Devices() []uuid.UUID
+ GetName() string
+ ContainsDevice(id uuid.UUID) bool
+ GetDescription() string
...
...
@@ -211,11 +241,12 @@ namespace nucleus {
+ AddSbi(sbi <font color=blue>interface</font>{}) error
+ RemoveSbi(id uuid.UUID) error
+ AddDevice(device <font color=blue>interface</font>{}) error
+ GetDevice(uuid uuid.UUID) (ygot.GoStruct, error)
+ RemoveDevice(uuid uuid.UUID) error
+ MarshalDevice(uuid uuid.UUID) (string, error)
+ Request(uuid uuid.UUID, path string) error
+ RequestAll(path string) error
+
Set
(uuid uuid.UUID,
path string, value string) (
<font color=blue>interface</font>{}, error
)
+
ChangeOND
(uuid uuid.UUID,
operation
<font color=blue>interface</font>{},
path string, value ...string)
error
}
class pndStore << (S,Aquamarine) >> {
...
...
@@ -241,6 +272,7 @@ namespace nucleus {
}
"ygot.GoStruct" *-- "nucleus.Device"
"gnmi.Config" *-- "nucleus.GnmiTransportOptions"
"nucleus.store" *-- "nucleus.changeStore"
"nucleus.store" *-- "nucleus.deviceStore"
"nucleus.store" *-- "nucleus.pndStore"
"nucleus.store" *-- "nucleus.sbiStore"
...
...
@@ -250,12 +282,12 @@ namespace nucleus {
"nucleus.TransportOptions" <|-- "nucleus.GnmiTransportOptions"
"nucleus.SouthboundInterface" <|-- "nucleus.OpenConfig"
"nucleus.Storable" <|-- "nucleus.OpenConfig"
"nucleus.Transport" <|-- "nucleus.Restconf"
"nucleus.PrincipalNetworkDomain" <|-- "nucleus.pndImplementation"
"nucleus.Storable" <|-- "nucleus.pndImplementation"
"__builtin__.int" #.. "nucleus.Operation"
"__builtin__.string" #.. "nucleus.CtxKeyType"
"nucleus.fontcolorbluemapfontuuidUUIDStorable" #.. "nucleus.store"
@enduml
```
This needs to be filled with proper texts. Right now it's only a link to the pages index: https://code.fbi.h-da.de/cocsn/gosdn/-/wikis/pages