mirror of
https://github.com/logos-blockchain/logos-blockchain-specs.git
synced 2026-01-08 16:13:10 +00:00
Reusable types in dispersal.proto
This commit is contained in:
parent
dc1fa97fa3
commit
a72dab131a
9
da/executor/README.md
Normal file
9
da/executor/README.md
Normal file
@ -0,0 +1,9 @@
|
||||
# Zone Executor to Nomos DA communication
|
||||
|
||||
## Protobuf
|
||||
|
||||
To generate the updated protobuf serializer from `dispersal.proto` run:
|
||||
|
||||
``` bash
|
||||
protoc --python_out=. dispersal.proto
|
||||
```
|
||||
@ -2,22 +2,52 @@ syntax = "proto3";
|
||||
|
||||
package dispersal;
|
||||
|
||||
message DispersalReq {
|
||||
message Blob {
|
||||
bytes blob_id = 1;
|
||||
bytes data = 2;
|
||||
}
|
||||
|
||||
message BlobId {
|
||||
bytes blob_id = 1;
|
||||
}
|
||||
|
||||
message Error {
|
||||
string description = 1;
|
||||
}
|
||||
|
||||
message DispersalErr {
|
||||
oneof message_type {
|
||||
Error chunk_size_err = 1;
|
||||
Error verification_err = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message DispersalReq {
|
||||
Blob blob = 1;
|
||||
}
|
||||
|
||||
message DispersalRes {
|
||||
int32 blob_id = 1;
|
||||
oneof message_type {
|
||||
BlobId blob_id = 1;
|
||||
DispersalErr err = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message SampleErr {
|
||||
oneof message_type {
|
||||
Error not_found = 1;
|
||||
}
|
||||
}
|
||||
|
||||
message SampleReq {
|
||||
int32 blob_id = 1;
|
||||
BlobId blob_id = 1;
|
||||
}
|
||||
|
||||
message SampleRes {
|
||||
int32 blob_id = 1;
|
||||
bytes data = 2;
|
||||
oneof message_type {
|
||||
Blob blob = 1;
|
||||
SampleErr err = 2;
|
||||
}
|
||||
}
|
||||
|
||||
message DispersalMessage {
|
||||
@ -28,4 +58,3 @@ message DispersalMessage {
|
||||
SampleRes sample_res = 4;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -24,21 +24,31 @@ _sym_db = _symbol_database.Default()
|
||||
|
||||
|
||||
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x64ispersal.proto\x12\tdispersal\"-\n\x0c\x44ispersalReq\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x1f\n\x0c\x44ispersalRes\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\x05\"\x1c\n\tSampleReq\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\x05\"*\n\tSampleRes\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\xde\x01\n\x10\x44ispersalMessage\x12\x30\n\rdispersal_req\x18\x01 \x01(\x0b\x32\x17.dispersal.DispersalReqH\x00\x12\x30\n\rdispersal_res\x18\x02 \x01(\x0b\x32\x17.dispersal.DispersalResH\x00\x12*\n\nsample_req\x18\x03 \x01(\x0b\x32\x14.dispersal.SampleReqH\x00\x12*\n\nsample_res\x18\x04 \x01(\x0b\x32\x14.dispersal.SampleResH\x00\x42\x0e\n\x0cmessage_typeb\x06proto3')
|
||||
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x0f\x64ispersal.proto\x12\tdispersal\"%\n\x04\x42lob\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\x0c\x12\x0c\n\x04\x64\x61ta\x18\x02 \x01(\x0c\"\x19\n\x06\x42lobId\x12\x0f\n\x07\x62lob_id\x18\x01 \x01(\x0c\"\x1c\n\x05\x45rror\x12\x13\n\x0b\x64\x65scription\x18\x01 \x01(\t\"x\n\x0c\x44ispersalErr\x12*\n\x0e\x63hunk_size_err\x18\x01 \x01(\x0b\x32\x10.dispersal.ErrorH\x00\x12,\n\x10verification_err\x18\x02 \x01(\x0b\x32\x10.dispersal.ErrorH\x00\x42\x0e\n\x0cmessage_type\"-\n\x0c\x44ispersalReq\x12\x1d\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x0f.dispersal.Blob\"l\n\x0c\x44ispersalRes\x12$\n\x07\x62lob_id\x18\x01 \x01(\x0b\x32\x11.dispersal.BlobIdH\x00\x12&\n\x03\x65rr\x18\x02 \x01(\x0b\x32\x17.dispersal.DispersalErrH\x00\x42\x0e\n\x0cmessage_type\"B\n\tSampleErr\x12%\n\tnot_found\x18\x01 \x01(\x0b\x32\x10.dispersal.ErrorH\x00\x42\x0e\n\x0cmessage_type\"/\n\tSampleReq\x12\"\n\x07\x62lob_id\x18\x01 \x01(\x0b\x32\x11.dispersal.BlobId\"a\n\tSampleRes\x12\x1f\n\x04\x62lob\x18\x01 \x01(\x0b\x32\x0f.dispersal.BlobH\x00\x12#\n\x03\x65rr\x18\x02 \x01(\x0b\x32\x14.dispersal.SampleErrH\x00\x42\x0e\n\x0cmessage_type\"\xde\x01\n\x10\x44ispersalMessage\x12\x30\n\rdispersal_req\x18\x01 \x01(\x0b\x32\x17.dispersal.DispersalReqH\x00\x12\x30\n\rdispersal_res\x18\x02 \x01(\x0b\x32\x17.dispersal.DispersalResH\x00\x12*\n\nsample_req\x18\x03 \x01(\x0b\x32\x14.dispersal.SampleReqH\x00\x12*\n\nsample_res\x18\x04 \x01(\x0b\x32\x14.dispersal.SampleResH\x00\x42\x0e\n\x0cmessage_typeb\x06proto3')
|
||||
|
||||
_globals = globals()
|
||||
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
||||
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'dispersal_pb2', _globals)
|
||||
if not _descriptor._USE_C_DESCRIPTORS:
|
||||
DESCRIPTOR._loaded_options = None
|
||||
_globals['_DISPERSALREQ']._serialized_start=30
|
||||
_globals['_DISPERSALREQ']._serialized_end=75
|
||||
_globals['_DISPERSALRES']._serialized_start=77
|
||||
_globals['_DISPERSALRES']._serialized_end=108
|
||||
_globals['_SAMPLEREQ']._serialized_start=110
|
||||
_globals['_SAMPLEREQ']._serialized_end=138
|
||||
_globals['_SAMPLERES']._serialized_start=140
|
||||
_globals['_SAMPLERES']._serialized_end=182
|
||||
_globals['_DISPERSALMESSAGE']._serialized_start=185
|
||||
_globals['_DISPERSALMESSAGE']._serialized_end=407
|
||||
_globals['_BLOB']._serialized_start=30
|
||||
_globals['_BLOB']._serialized_end=67
|
||||
_globals['_BLOBID']._serialized_start=69
|
||||
_globals['_BLOBID']._serialized_end=94
|
||||
_globals['_ERROR']._serialized_start=96
|
||||
_globals['_ERROR']._serialized_end=124
|
||||
_globals['_DISPERSALERR']._serialized_start=126
|
||||
_globals['_DISPERSALERR']._serialized_end=246
|
||||
_globals['_DISPERSALREQ']._serialized_start=248
|
||||
_globals['_DISPERSALREQ']._serialized_end=293
|
||||
_globals['_DISPERSALRES']._serialized_start=295
|
||||
_globals['_DISPERSALRES']._serialized_end=403
|
||||
_globals['_SAMPLEERR']._serialized_start=405
|
||||
_globals['_SAMPLEERR']._serialized_end=471
|
||||
_globals['_SAMPLEREQ']._serialized_start=473
|
||||
_globals['_SAMPLEREQ']._serialized_end=520
|
||||
_globals['_SAMPLERES']._serialized_start=522
|
||||
_globals['_SAMPLERES']._serialized_end=619
|
||||
_globals['_DISPERSALMESSAGE']._serialized_start=622
|
||||
_globals['_DISPERSALMESSAGE']._serialized_end=844
|
||||
# @@protoc_insertion_point(module_scope)
|
||||
|
||||
@ -26,7 +26,7 @@ class Node:
|
||||
|
||||
async def _handle(self, conn_id, writer, message):
|
||||
if message.HasField('dispersal_req'):
|
||||
print(f"Received DispersalRes: blob_id={message.dispersal_req.blob_id}")
|
||||
print(f"Received DispersalRes: blob_id={message.dispersal_req.blob.blob_id}")
|
||||
elif message.HasField('sample_req'):
|
||||
print(f"Received SampleRes: blob_id={message.sample_req.blob_id}")
|
||||
else:
|
||||
|
||||
@ -15,21 +15,41 @@ def unpack_message(data):
|
||||
return message
|
||||
|
||||
def new_dispersal_req_msg(blob_id, data):
|
||||
dispersal_req = dispersal_pb2.DispersalReq(blob_id=blob_id, data=data)
|
||||
blob = dispersal_pb2.Blob(blob_id=blob_id, data=data)
|
||||
dispersal_req = dispersal_pb2.DispersalReq(blob=blob)
|
||||
dispersal_message = dispersal_pb2.DispersalMessage(dispersal_req=dispersal_req)
|
||||
return pack_message(dispersal_message)
|
||||
|
||||
def new_dispersal_res_msg(blob_id):
|
||||
dispersal_res = dispersal_pb2.DispersalRes(blob_id=blob_id)
|
||||
def new_dispersal_res_msg(blob_id=None, error_type=None, error_description=None):
|
||||
if blob_id is not None:
|
||||
blob_id_msg = dispersal_pb2.BlobId(blob_id=blob_id)
|
||||
dispersal_res = dispersal_pb2.DispersalRes(blob_id=blob_id_msg)
|
||||
elif error_type is not None and error_description is not None:
|
||||
error = dispersal_pb2.Error(description=error_description)
|
||||
dispersal_err = dispersal_pb2.DispersalErr()
|
||||
setattr(dispersal_err, error_type, error)
|
||||
dispersal_res = dispersal_pb2.DispersalRes(err=dispersal_err)
|
||||
else:
|
||||
raise ValueError("Either blob_id or error_type and error_description must be provided")
|
||||
dispersal_message = dispersal_pb2.DispersalMessage(dispersal_res=dispersal_res)
|
||||
return pack_message(dispersal_message)
|
||||
|
||||
def new_sample_req_msg(blob_id):
|
||||
sample_req = dispersal_pb2.SampleReq(blob_id=blob_id)
|
||||
blob_id_msg = dispersal_pb2.BlobId(blob_id=blob_id)
|
||||
sample_req = dispersal_pb2.SampleReq(blob_id=blob_id_msg)
|
||||
dispersal_message = dispersal_pb2.DispersalMessage(sample_req=sample_req)
|
||||
return pack_message(dispersal_message)
|
||||
|
||||
def new_sample_res_msg(blob_id, data):
|
||||
sample_res = dispersal_pb2.SampleRes(blob_id=blob_id, data=data)
|
||||
def new_sample_res_msg(blob_id=None, data=None, error_description=None):
|
||||
if blob_id is not None and data is not None:
|
||||
blob = dispersal_pb2.Blob(blob_id=blob_id, data=data)
|
||||
sample_res = dispersal_pb2.SampleRes(blob=blob)
|
||||
elif error_description is not None:
|
||||
error = dispersal_pb2.Error(description=error_description)
|
||||
sample_err = dispersal_pb2.SampleErr(not_found=error)
|
||||
sample_res = dispersal_pb2.SampleRes(err=sample_err)
|
||||
else:
|
||||
raise ValueError("Either blob_id and data or error_description must be provided")
|
||||
dispersal_message = dispersal_pb2.DispersalMessage(sample_res=sample_res)
|
||||
return pack_message(dispersal_message)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user