1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
use crate::{metadata::MessageMetadata, solid_entry_point::SolidEntryPoint};
use bee_message::{
milestone::{Milestone, MilestoneIndex},
Message, MessageId,
};
use bee_storage::{
access::{Fetch, Insert},
backend,
};
pub trait StorageBackend:
backend::StorageBackend
+ Insert<MessageId, Message>
+ Insert<MessageId, MessageMetadata>
+ Insert<(MessageId, MessageId), ()>
+ Insert<MilestoneIndex, Milestone>
+ Insert<SolidEntryPoint, MilestoneIndex>
+ Fetch<MessageId, Message>
+ Fetch<MessageId, MessageMetadata>
+ Fetch<MessageId, Vec<MessageId>>
+ Fetch<MilestoneIndex, Milestone>
{
}
impl<T> StorageBackend for T where
T: backend::StorageBackend
+ Insert<MessageId, Message>
+ Insert<MessageId, MessageMetadata>
+ Insert<(MessageId, MessageId), ()>
+ Insert<MilestoneIndex, Milestone>
+ Insert<SolidEntryPoint, MilestoneIndex>
+ Fetch<MessageId, Message>
+ Fetch<MessageId, MessageMetadata>
+ Fetch<MessageId, Vec<MessageId>>
+ Fetch<MilestoneIndex, Milestone>
{
}