Skip to content

Commit 149ae0d

Browse files
author
Jason Yellick
committed
[FAB-1566] Hook ingress policy into standard path
https://jira.hyperledger.org/browse/FAB-1566 This changeset concludes the changeset series which brings filtering incoming broadcasts by policy. Presently, the provisional bootstrapper defaults the ingress policy to AcceptAll, but, this can be changed in the future once actual signature validation works. While attempting to bring the bdd genesis block creation into parity with this change, a few extraneous bugs were discovered and fixed in the bdd bootstrap util. Change-Id: I2f61308350a77991b50c8478c708563d70674fb8 Signed-off-by: Jason Yellick <[email protected]>
1 parent e187a93 commit 149ae0d

15 files changed

+701
-163
lines changed

bddtests/orderer/ab_pb2.py

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

bddtests/orderer/ab_pb2_grpc.py

+63
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
import grpc
2+
from grpc.framework.common import cardinality
3+
from grpc.framework.interfaces.face import utilities as face_utilities
4+
5+
import common.common_pb2 as common_dot_common__pb2
6+
import orderer.ab_pb2 as orderer_dot_ab__pb2
7+
import orderer.ab_pb2 as orderer_dot_ab__pb2
8+
import orderer.ab_pb2 as orderer_dot_ab__pb2
9+
10+
11+
class AtomicBroadcastStub(object):
12+
13+
def __init__(self, channel):
14+
"""Constructor.
15+
16+
Args:
17+
channel: A grpc.Channel.
18+
"""
19+
self.Broadcast = channel.stream_stream(
20+
'/orderer.AtomicBroadcast/Broadcast',
21+
request_serializer=common_dot_common__pb2.Envelope.SerializeToString,
22+
response_deserializer=orderer_dot_ab__pb2.BroadcastResponse.FromString,
23+
)
24+
self.Deliver = channel.stream_stream(
25+
'/orderer.AtomicBroadcast/Deliver',
26+
request_serializer=orderer_dot_ab__pb2.SeekInfo.SerializeToString,
27+
response_deserializer=orderer_dot_ab__pb2.DeliverResponse.FromString,
28+
)
29+
30+
31+
class AtomicBroadcastServicer(object):
32+
33+
def Broadcast(self, request_iterator, context):
34+
"""broadcast receives a reply of Acknowledgement for each common.Envelope in order, indicating success or type of failure
35+
"""
36+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
37+
context.set_details('Method not implemented!')
38+
raise NotImplementedError('Method not implemented!')
39+
40+
def Deliver(self, request_iterator, context):
41+
"""deliver first requires an update containing a seek message, then a stream of block replies is received.
42+
"""
43+
context.set_code(grpc.StatusCode.UNIMPLEMENTED)
44+
context.set_details('Method not implemented!')
45+
raise NotImplementedError('Method not implemented!')
46+
47+
48+
def add_AtomicBroadcastServicer_to_server(servicer, server):
49+
rpc_method_handlers = {
50+
'Broadcast': grpc.stream_stream_rpc_method_handler(
51+
servicer.Broadcast,
52+
request_deserializer=common_dot_common__pb2.Envelope.FromString,
53+
response_serializer=orderer_dot_ab__pb2.BroadcastResponse.SerializeToString,
54+
),
55+
'Deliver': grpc.stream_stream_rpc_method_handler(
56+
servicer.Deliver,
57+
request_deserializer=orderer_dot_ab__pb2.SeekInfo.FromString,
58+
response_serializer=orderer_dot_ab__pb2.DeliverResponse.SerializeToString,
59+
),
60+
}
61+
generic_handler = grpc.method_handlers_generic_handler(
62+
'orderer.AtomicBroadcast', rpc_method_handlers)
63+
server.add_generic_rpc_handlers((generic_handler,))

0 commit comments

Comments
 (0)