@@ -8,7 +8,6 @@ package generic
8
8
9
9
import (
10
10
"context"
11
- "time"
12
11
13
12
driver3 "github.com/hyperledger-labs/fabric-smart-client/platform/common/driver"
14
13
"github.com/hyperledger-labs/fabric-smart-client/platform/fabric/core/generic/chaincode"
@@ -22,21 +21,16 @@ import (
22
21
"github.com/hyperledger-labs/fabric-smart-client/platform/fabric/core/generic/vault"
23
22
"github.com/hyperledger-labs/fabric-smart-client/platform/fabric/driver"
24
23
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/db/driver/multiplexed"
25
- "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/events"
26
24
"github.com/hyperledger-labs/fabric-smart-client/platform/view/services/hash"
27
- "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/metrics"
28
25
vault2 "github.com/hyperledger-labs/fabric-smart-client/platform/view/services/storage/vault"
29
26
"github.com/hyperledger/fabric-protos-go/common"
30
27
"github.com/pkg/errors"
31
- "go.opentelemetry.io/otel/trace"
32
28
)
33
29
34
30
type VaultConstructor = func (
35
31
channelName string ,
36
32
configService driver.ConfigService ,
37
33
vaultStore driver3.VaultStore ,
38
- metricsProvider metrics.Provider ,
39
- tracerProvider trace.TracerProvider ,
40
34
) (* vault.Vault , error )
41
35
42
36
type LedgerConstructor func (
@@ -55,106 +49,74 @@ type RWSetLoaderConstructor func(
55
49
56
50
type CommitterConstructor func (
57
51
nw driver.FabricNetworkService ,
58
- channelConfig driver. ChannelConfig ,
52
+ channel string ,
59
53
vault driver.Vault ,
60
54
envelopeService driver.EnvelopeService ,
61
55
ledger driver.Ledger ,
62
56
rwsetLoaderService driver.RWSetLoader ,
63
- eventsPublisher events.Publisher ,
64
57
channelMembershipService * membership.Service ,
65
58
fabricFinality committer.FabricFinality ,
66
- dependencyResolver committer.DependencyResolver ,
67
59
quiet bool ,
68
- listenerManager driver.ListenerManager ,
69
- tracerProvider trace.TracerProvider ,
70
- metricsProvider metrics.Provider ,
71
60
) (CommitterService , error )
72
61
73
62
type DeliveryConstructor func (
63
+ nw driver.FabricNetworkService ,
74
64
channel string ,
75
- channelConfig driver.ChannelConfig ,
76
- hasher hash.Hasher ,
77
- networkName string ,
78
- localMembership driver.LocalMembership ,
79
- configService driver.ConfigService ,
80
65
peerManager delivery.Services ,
81
66
ledger driver.Ledger ,
82
- waitForEventTimeout time.Duration ,
83
67
vault delivery.Vault ,
84
- transactionManager driver.TransactionManager ,
85
68
callback driver.BlockCallback ,
86
- tracerProvider trace.TracerProvider ,
87
- metricsProvider metrics.Provider ,
88
- acceptedHeaderTypes []common.HeaderType ,
89
69
) (DeliveryService , error )
90
70
91
71
type ChannelProvider interface {
92
72
NewChannel (nw driver.FabricNetworkService , name string , quiet bool ) (driver.Channel , error )
93
73
}
94
74
95
75
type provider struct {
96
- configProvider config.Provider
97
- envelopeKVS driver.EnvelopeStore
98
- metadataKVS driver.MetadataStore
99
- endorserTxKVS driver.EndorseTxStore
100
- publisher events.Publisher
101
- hasher hash.Hasher
102
- newVault VaultConstructor
103
- tracerProvider trace.TracerProvider
104
- metricsProvider metrics.Provider
105
- dependencyResolver committer.DependencyResolver
106
- drivers multiplexed.Driver
107
- channelConfigProvider driver.ChannelConfigProvider
108
- listenerManagerProvider driver.ListenerManagerProvider
109
- newLedger LedgerConstructor
110
- newRWSetLoader RWSetLoaderConstructor
111
- newCommitter CommitterConstructor
112
- newDelivery DeliveryConstructor
113
- useFilteredDelivery bool
114
- acceptedHeaderTypes []common.HeaderType
76
+ configProvider config.Provider
77
+ envelopeKVS driver.EnvelopeStore
78
+ metadataKVS driver.MetadataStore
79
+ endorserTxKVS driver.EndorseTxStore
80
+ hasher hash.Hasher
81
+ newVault VaultConstructor
82
+ drivers multiplexed.Driver
83
+ channelConfigProvider driver.ChannelConfigProvider
84
+ newLedger LedgerConstructor
85
+ newRWSetLoader RWSetLoaderConstructor
86
+ newCommitter CommitterConstructor
87
+ newDelivery DeliveryConstructor
88
+ useFilteredDelivery bool
115
89
}
116
90
117
91
func NewChannelProvider (
118
92
configProvider config.Provider ,
119
93
envelopeKVS driver.EnvelopeStore ,
120
94
metadataKVS driver.MetadataStore ,
121
95
endorserTxKVS driver.EndorseTxStore ,
122
- publisher events.Publisher ,
123
96
hasher hash.Hasher ,
124
- tracerProvider trace.TracerProvider ,
125
- metricsProvider metrics.Provider ,
126
97
drivers multiplexed.Driver ,
127
98
newVault VaultConstructor ,
128
99
channelConfigProvider driver.ChannelConfigProvider ,
129
- listenerManagerProvider driver.ListenerManagerProvider ,
130
- dependencyResolver committer.DependencyResolver ,
131
100
newLedger LedgerConstructor ,
132
101
newRWSetLoader RWSetLoaderConstructor ,
133
102
newCommitter CommitterConstructor ,
134
103
newDelivery DeliveryConstructor ,
135
104
useFilteredDelivery bool ,
136
- acceptedHeaderTypes []common.HeaderType ,
137
105
) * provider {
138
106
return & provider {
139
- configProvider : configProvider ,
140
- envelopeKVS : envelopeKVS ,
141
- metadataKVS : metadataKVS ,
142
- endorserTxKVS : endorserTxKVS ,
143
- publisher : publisher ,
144
- hasher : hasher ,
145
- newVault : newVault ,
146
- tracerProvider : tracerProvider ,
147
- metricsProvider : metricsProvider ,
148
- drivers : drivers ,
149
- channelConfigProvider : channelConfigProvider ,
150
- listenerManagerProvider : listenerManagerProvider ,
151
- dependencyResolver : dependencyResolver ,
152
- newLedger : newLedger ,
153
- newRWSetLoader : newRWSetLoader ,
154
- newCommitter : newCommitter ,
155
- newDelivery : newDelivery ,
156
- useFilteredDelivery : useFilteredDelivery ,
157
- acceptedHeaderTypes : acceptedHeaderTypes ,
107
+ configProvider : configProvider ,
108
+ envelopeKVS : envelopeKVS ,
109
+ metadataKVS : metadataKVS ,
110
+ endorserTxKVS : endorserTxKVS ,
111
+ hasher : hasher ,
112
+ newVault : newVault ,
113
+ drivers : drivers ,
114
+ channelConfigProvider : channelConfigProvider ,
115
+ newLedger : newLedger ,
116
+ newRWSetLoader : newRWSetLoader ,
117
+ newCommitter : newCommitter ,
118
+ newDelivery : newDelivery ,
119
+ useFilteredDelivery : useFilteredDelivery ,
158
120
}
159
121
}
160
122
@@ -170,7 +132,7 @@ func (p *provider) NewChannel(nw driver.FabricNetworkService, channelName string
170
132
return nil , err
171
133
}
172
134
173
- vault , err := p .newVault (channelName , nw .ConfigService (), vaultStore , p . metricsProvider , p . tracerProvider )
135
+ vault , err := p .newVault (channelName , nw .ConfigService (), vaultStore )
174
136
if err != nil {
175
137
return nil , err
176
138
}
@@ -234,19 +196,14 @@ func (p *provider) NewChannel(nw driver.FabricNetworkService, channelName string
234
196
235
197
committerService , err := p .newCommitter (
236
198
nw ,
237
- channelConfig ,
199
+ channelName ,
238
200
vault ,
239
201
envelopeService ,
240
202
ledgerService ,
241
203
rwSetLoaderService ,
242
- p .publisher ,
243
204
channelMembershipService ,
244
205
fabricFinality ,
245
- p .dependencyResolver ,
246
206
quiet ,
247
- p .listenerManagerProvider .NewManager (),
248
- p .tracerProvider ,
249
- p .metricsProvider ,
250
207
)
251
208
if err != nil {
252
209
return nil , errors .WithMessagef (err , "failed creating committer for channel [%s]" , channelName )
@@ -258,24 +215,15 @@ func (p *provider) NewChannel(nw driver.FabricNetworkService, channelName string
258
215
259
216
// Delivery
260
217
deliveryService , err := p .newDelivery (
218
+ nw ,
261
219
channelName ,
262
- channelConfig ,
263
- p .hasher ,
264
- nw .Name (),
265
- nw .LocalMembership (),
266
- nw .ConfigService (),
267
220
peerService ,
268
221
ledgerService ,
269
- channelConfig .CommitterWaitForEventTimeout (),
270
222
& vaultDeliveryWrapper {vaultStore : vaultStore },
271
- nw .TransactionManager (),
272
223
func (ctx context.Context , block * common.Block ) (bool , error ) {
273
224
// commit the block, if an error occurs then retry
274
225
return false , committerService .Commit (ctx , block )
275
226
},
276
- p .tracerProvider ,
277
- p .metricsProvider ,
278
- p .acceptedHeaderTypes ,
279
227
)
280
228
if err != nil {
281
229
return nil , err
0 commit comments