Skip to content

Commit b3229ea

Browse files
committed
refactor container listener
1 parent 105e09f commit b3229ea

File tree

4 files changed

+20
-21
lines changed

4 files changed

+20
-21
lines changed

internal/app.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ type Model struct {
4747
client client.Client
4848
cancel context.CancelFunc
4949
pages map[page.Type]page.GenericPage
50-
containerListeners []model.ContainerListener
50+
containerListeners []client.ContainerListener
5151
focusedPageType page.Type
5252
rightPageType page.Type
5353
fullScreen bool

internal/command/container.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
)
1111

1212
type GetContainerListenerMsg struct {
13-
Listener model.ContainerListener
13+
Listener client.ContainerListener
1414
Err error
1515
}
1616

@@ -35,14 +35,14 @@ func GetContainerListenerCmd(
3535
}
3636

3737
type GetContainerDeltasMsg struct {
38-
Listener model.ContainerListener
38+
Listener client.ContainerListener
3939
DeltaSet model.ContainerDeltaSet
4040
Err error
4141
}
4242

4343
func GetNextContainerDeltasCmd(
4444
client client.Client,
45-
listener model.ContainerListener,
45+
listener client.ContainerListener,
4646
duration time.Duration,
4747
) tea.Cmd {
4848
return func() tea.Msg {

internal/k8s/client/client.go

+16-9
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@ type Client interface {
2626
matchers model.Matchers,
2727
selector labels.Selector,
2828
ignorePodOwnerTypes []string,
29-
) (model.ContainerListener, error)
29+
) (ContainerListener, error)
3030

3131
// CollectContainerDeltasForDuration collects container deltas from a listener for a given duration
32-
CollectContainerDeltasForDuration(listener model.ContainerListener, duration time.Duration) (model.ContainerDeltaSet, error)
32+
CollectContainerDeltasForDuration(listener ContainerListener, duration time.Duration) (model.ContainerDeltaSet, error)
3333

3434
// GetContainerStatus returns the status of a container
3535
GetContainerStatus(container model.Container) (model.ContainerStatus, error)
@@ -50,13 +50,20 @@ func NewClient(ctx context.Context, clusterToClientset map[string]*kubernetes.Cl
5050
}
5151
}
5252

53+
type ContainerListener struct {
54+
Cluster string
55+
Namespace string
56+
Stop func()
57+
containerDeltaChan chan model.ContainerDelta
58+
}
59+
5360
func (c clientImpl) GetContainerListener(
5461
cluster,
5562
namespace string,
5663
matchers model.Matchers,
5764
selector labels.Selector,
5865
ignorePodOwnerTypes []string,
59-
) (model.ContainerListener, error) {
66+
) (ContainerListener, error) {
6067
deltaChan := make(chan model.ContainerDelta, 100)
6168
stopChan := make(chan struct{})
6269

@@ -113,7 +120,7 @@ func (c clientImpl) GetContainerListener(
113120
},
114121
})
115122
if err != nil {
116-
return model.ContainerListener{}, fmt.Errorf("error adding event handler: %v", err)
123+
return ContainerListener{}, fmt.Errorf("error adding event handler: %v", err)
117124
}
118125

119126
go func() {
@@ -122,32 +129,32 @@ func (c clientImpl) GetContainerListener(
122129

123130
if !cache.WaitForCacheSync(stopChan, podInformer.HasSynced) {
124131
close(stopChan)
125-
return model.ContainerListener{}, fmt.Errorf("timed out waiting for caches to sync")
132+
return ContainerListener{}, fmt.Errorf("timed out waiting for caches to sync")
126133
}
127134

128135
stop := func() {
129136
close(stopChan)
130137
close(deltaChan)
131138
}
132139

133-
return model.ContainerListener{
140+
return ContainerListener{
134141
Cluster: cluster,
135142
Namespace: namespace,
136-
ContainerDeltaChan: deltaChan,
143+
containerDeltaChan: deltaChan,
137144
Stop: stop,
138145
}, nil
139146
}
140147

141148
func (c clientImpl) CollectContainerDeltasForDuration(
142-
listener model.ContainerListener,
149+
listener ContainerListener,
143150
duration time.Duration,
144151
) (model.ContainerDeltaSet, error) {
145152
var deltas model.ContainerDeltaSet
146153
timeout := time.After(duration)
147154

148155
for {
149156
select {
150-
case containerDelta, ok := <-listener.ContainerDeltaChan:
157+
case containerDelta, ok := <-listener.containerDeltaChan:
151158
if !ok {
152159
return model.ContainerDeltaSet{}, fmt.Errorf("add/update pod channel closed")
153160
}

internal/model/container_listener.go

-8
This file was deleted.

0 commit comments

Comments
 (0)