Skip to content

Commit

Permalink
pkg/storage: cleanup Codec() from interface
Browse files Browse the repository at this point in the history
  • Loading branch information
hongchaodeng committed Aug 16, 2016
1 parent 79ed706 commit a607a69
Show file tree
Hide file tree
Showing 7 changed files with 8 additions and 20 deletions.
1 change: 1 addition & 0 deletions pkg/registry/generic/registry/storage_factory.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ func StorageWithCacher(
ResourcePrefix: resourcePrefix,
NewListFunc: newListFunc,
TriggerPublisherFunc: triggerFunc,
Codec: storageConfig.Codec,
}
if scopeStrategy.NamespaceScoped() {
cacherConfig.KeyFunc = func(obj runtime.Object) (string, error) {
Expand Down
4 changes: 3 additions & 1 deletion pkg/registry/generic/registry/store_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1015,7 +1015,8 @@ func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (*etcdtesti
podPrefix := "/pods"
server := etcdtesting.NewEtcdTestClientServer(t)
strategy := &testRESTStrategy{api.Scheme, api.SimpleNameGenerator, true, false, true}
s := etcdstorage.NewEtcdStorage(server.Client, testapi.Default.StorageCodec(), etcdtest.PathPrefix(), false, etcdtest.DeserializationCacheSize)
codec := testapi.Default.StorageCodec()
s := etcdstorage.NewEtcdStorage(server.Client, codec, etcdtest.PathPrefix(), false, etcdtest.DeserializationCacheSize)
if hasCacheEnabled {
config := storage.CacherConfig{
CacheCapacity: 10,
Expand All @@ -1025,6 +1026,7 @@ func newTestGenericStoreRegistry(t *testing.T, hasCacheEnabled bool) (*etcdtesti
ResourcePrefix: podPrefix,
KeyFunc: func(obj runtime.Object) (string, error) { return storage.NoNamespaceKeyFunc(podPrefix, obj) },
NewListFunc: func() runtime.Object { return &api.PodList{} },
Codec: codec,
}
s = storage.NewCacherFromConfig(config)
}
Expand Down
9 changes: 3 additions & 6 deletions pkg/storage/cacher.go
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ type CacherConfig struct {
// NewList is a function that creates new empty object storing a list of
// objects of type Type.
NewListFunc func() runtime.Object

Codec runtime.Codec
}

type watchersMap map[int]*cacheWatcher
Expand Down Expand Up @@ -176,7 +178,7 @@ func NewCacherFromConfig(config CacherConfig) *Cacher {
// Give this error when it is constructed rather than when you get the
// first watch item, because it's much easier to track down that way.
if obj, ok := config.Type.(runtime.Object); ok {
if err := runtime.CheckCodec(config.Storage.Codec(), obj); err != nil {
if err := runtime.CheckCodec(config.Codec, obj); err != nil {
panic("storage codec doesn't seem to match given type: " + err.Error())
}
}
Expand Down Expand Up @@ -375,11 +377,6 @@ func (c *Cacher) GuaranteedUpdate(ctx context.Context, key string, ptrToType run
return c.storage.GuaranteedUpdate(ctx, key, ptrToType, ignoreNotFound, preconditions, tryUpdate)
}

// Implements storage.Interface.
func (c *Cacher) Codec() runtime.Codec {
return c.storage.Codec()
}

func (c *Cacher) triggerValues(event *watchCacheEvent) ([]string, bool) {
// TODO: Currently we assume that in a given Cacher object, its <c.triggerFunc>
// is aware of exactly the same trigger (at most one). Thus calling:
Expand Down
1 change: 1 addition & 0 deletions pkg/storage/cacher_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ func newTestCacher(s storage.Interface) *storage.Cacher {
ResourcePrefix: prefix,
KeyFunc: func(obj runtime.Object) (string, error) { return storage.NamespaceKeyFunc(prefix, obj) },
NewListFunc: func() runtime.Object { return &api.PodList{} },
Codec: testapi.Default.Codec(),
}
return storage.NewCacherFromConfig(config)
}
Expand Down
5 changes: 0 additions & 5 deletions pkg/storage/etcd/etcd_helper.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,6 @@ func init() {
metrics.Register()
}

// Codec provides access to the underlying codec being used by the implementation.
func (h *etcdHelper) Codec() runtime.Codec {
return h.codec
}

// Implements storage.Interface.
func (h *etcdHelper) Versioner() storage.Versioner {
return h.versioner
Expand Down
5 changes: 0 additions & 5 deletions pkg/storage/etcd3/store.go
Original file line number Diff line number Diff line change
Expand Up @@ -73,11 +73,6 @@ func newStore(c *clientv3.Client, codec runtime.Codec, prefix string) *store {
}
}

// Codec implements storage.Interface.Codec.
func (s *store) Codec() runtime.Codec {
return s.codec
}

// Versioner implements storage.Interface.Versioner.
func (s *store) Versioner() storage.Versioner {
return s.versioner
Expand Down
3 changes: 0 additions & 3 deletions pkg/storage/interfaces.go
Original file line number Diff line number Diff line change
Expand Up @@ -182,9 +182,6 @@ type Interface interface {
// }
// })
GuaranteedUpdate(ctx context.Context, key string, ptrToType runtime.Object, ignoreNotFound bool, precondtions *Preconditions, tryUpdate UpdateFunc) error

// Codec provides access to the underlying codec being used by the implementation.
Codec() runtime.Codec
}

// Config interface allows storage tiers to generate the proper storage.interface
Expand Down

0 comments on commit a607a69

Please sign in to comment.