Skip to content

Commit fdb09d9

Browse files
committed
plugins: rename decoder -> handler
Give the diverse nature functionality implemented by the pluggable interfaces (especially on the evidence side), the term "decoder" is too specific. Use the more broad "handler" instead. Signed-off-by: Sergei Trofimov <[email protected]>
1 parent 0c1f9c9 commit fdb09d9

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+420
-394
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export TOPDIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST))))
55

66
SUBDIR += builtin
77
SUBDIR += config
8-
SUBDIR += decoder
8+
SUBDIR += handler
99
SUBDIR += kvstore
1010
SUBDIR += log
1111
SUBDIR += plugin

builtin/schemes.gen.go

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

1212
var plugins = []plugin.IPluggable{
13-
&scheme1.EvidenceDecoder{},
14-
&scheme1.EndorsementDecoder{},
15-
&scheme2.EvidenceDecoder{},
16-
&scheme3.EvidenceDecoder{},
17-
&scheme3.EndorsementDecoder{},
18-
&scheme4.EvidenceDecoder{},
19-
&scheme4.EndorsementDecoder{},
13+
&scheme1.EvidenceHandler{},
14+
&scheme1.EndorsementHandler{},
15+
&scheme2.EvidenceHandler{},
16+
&scheme3.EvidenceHandler{},
17+
&scheme3.EndorsementHandler{},
18+
&scheme4.EvidenceHandler{},
19+
&scheme4.EndorsementHandler{},
2020
}

decoder/README.md

-6
This file was deleted.

decoder/iendorsementdecoder.go

-27
This file was deleted.

decoder/plugin.go

-21
This file was deleted.

decoder/Makefile handler/Makefile

File renamed without changes.

handler/README.md

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
This package defines [`IEvidinceHandler`](ievidecehandler.go) and
2+
[`IEndorsementHandler`](iendorsementhandler.go) [pluggable](../plugin/README.md)
3+
interfaces and associated RPC channels. These are used to add new attestation
4+
scheme sort to Veraison services. Additionally, the package defines a [couple
5+
of wrappers](plugin.go) around `plugin.RegisterImplementation` for registering
6+
implementations of these two interfaces.

decoder/endorsement_response.pb.go handler/endorsement_response.pb.go

+18-18
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

decoder/endorsement_response.pb.json.go handler/endorsement_response.pb.json.go

+3-3
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
syntax = "proto3";
2-
package endorsement_decoder_response;
2+
package endorsement_handler_response;
33

4-
option go_package = "github.com/veraison/services/decoder";
4+
option go_package = "github.com/veraison/services/handler";
55

66
import "vts.proto";
77

8-
message EndorsementDecoderResponse {
8+
message EndorsementHandlerResponse {
99
repeated proto.Endorsement referenceValues = 1;
1010
repeated proto.Endorsement trustAnchors = 2;
1111
}

decoder/endorsement_rpc.go handler/endorsement_rpc.go

+8-8
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2022-2023 Contributors to the Veraison project.
22
// SPDX-License-Identifier: Apache-2.0
3-
package decoder
3+
package handler
44

55
import (
66
"fmt"
@@ -16,7 +16,7 @@ import (
1616
(plugin-side)
1717
*/
1818

19-
var EndorsementDecoderRPC = &plugin.RPCChannel[IEndorsementDecoder]{
19+
var EndorsementHandlerRPC = &plugin.RPCChannel[IEndorsementHandler]{
2020
GetClient: getEndorsementClient,
2121
GetServer: geEndorsementtServer,
2222
}
@@ -25,15 +25,15 @@ func getEndorsementClient(c *rpc.Client) interface{} {
2525
return &EndorsementRPCClient{client: c}
2626
}
2727

28-
func geEndorsementtServer(i IEndorsementDecoder) interface{} {
28+
func geEndorsementtServer(i IEndorsementHandler) interface{} {
2929
return &EndorsementRPCServer{Impl: i}
3030
}
3131

3232
type EndorsementRPCServer struct {
33-
Impl IEndorsementDecoder
33+
Impl IEndorsementHandler
3434
}
3535

36-
func (s *EndorsementRPCServer) Init(params EndorsementDecoderParams, unused interface{}) error {
36+
func (s *EndorsementRPCServer) Init(params EndorsementHandlerParams, unused interface{}) error {
3737
return s.Impl.Init(params)
3838
}
3939

@@ -79,7 +79,7 @@ type EndorsementRPCClient struct {
7979
client *rpc.Client
8080
}
8181

82-
func (c EndorsementRPCClient) Init(params EndorsementDecoderParams) error {
82+
func (c EndorsementRPCClient) Init(params EndorsementHandlerParams) error {
8383
var unused interface{}
8484

8585
return c.client.Call("Plugin.Init", params, &unused)
@@ -139,10 +139,10 @@ func (c EndorsementRPCClient) GetSupportedMediaTypes() []string {
139139
return resp
140140
}
141141

142-
func (c EndorsementRPCClient) Decode(data []byte) (*EndorsementDecoderResponse, error) {
142+
func (c EndorsementRPCClient) Decode(data []byte) (*EndorsementHandlerResponse, error) {
143143
var (
144144
err error
145-
resp EndorsementDecoderResponse
145+
resp EndorsementHandlerResponse
146146
j []byte
147147
)
148148

decoder/evidence_rpc.go handler/evidence_rpc.go

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// Copyright 2022-2023 Contributors to the Veraison project.
22
// SPDX-License-Identifier: Apache-2.0
3-
package decoder
3+
package handler
44

55
import (
66
"encoding/json"
@@ -13,7 +13,7 @@ import (
1313
"github.com/veraison/services/proto"
1414
)
1515

16-
var EvidenceDecoderRPC = &plugin.RPCChannel[IEvidenceDecoder]{
16+
var EvidenceHandlerRPC = &plugin.RPCChannel[IEvidenceHandler]{
1717
GetClient: getClient,
1818
GetServer: getServer,
1919
}
@@ -22,12 +22,12 @@ func getClient(c *rpc.Client) interface{} {
2222
return &RPCClient{client: c}
2323
}
2424

25-
func getServer(i IEvidenceDecoder) interface{} {
25+
func getServer(i IEvidenceHandler) interface{} {
2626
return &RPCServer{Impl: i}
2727
}
2828

2929
type RPCServer struct {
30-
Impl IEvidenceDecoder
30+
Impl IEvidenceHandler
3131
}
3232

3333
func (s *RPCServer) GetName(args interface{}, resp *string) error {
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
// Copyright 2022-2023 Contributors to the Veraison project.
22
// SPDX-License-Identifier: Apache-2.0
3-
package decoder
3+
package handler
44

55
import "go.uber.org/zap"
66

77
type IDecoderManager interface {
88
Init(dir string, logger *zap.SugaredLogger) error
99
Close() error
10-
Dispatch(mediaType string, data []byte) (*EndorsementDecoderResponse, error)
10+
Dispatch(mediaType string, data []byte) (*EndorsementHandlerResponse, error)
1111
IsSupportedMediaType(mediaType string) bool
1212
GetSupportedMediaTypes() []string
1313
}

handler/iendorsementhandler.go

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// Copyright 2022-2023 Contributors to the Veraison project.
2+
// SPDX-License-Identifier: Apache-2.0
3+
package handler
4+
5+
import (
6+
"github.com/veraison/services/plugin"
7+
)
8+
9+
// EndorsementHandlerParams are passed to IEvidenceHandler.Init() They are
10+
// implementation-specific.
11+
type EndorsementHandlerParams map[string]interface{}
12+
13+
// IEndorsementHandler defines the interface to functionality for working with
14+
// attestation scheme specific endorsement provisioning tokens (typically,
15+
// CoRIM's).
16+
type IEndorsementHandler interface {
17+
plugin.IPluggable
18+
19+
// Init() initializes the handler.
20+
Init(params EndorsementHandlerParams) error
21+
22+
// Close the decoder, finalizing any state it may contain.
23+
Close() error
24+
25+
// Decode the endorsements from the provided []byte.
26+
Decode([]byte) (*EndorsementHandlerResponse, error)
27+
}

0 commit comments

Comments
 (0)