casper-network / casper-network/casper-node
NODE :: SSE :: Binary encoding responses
- Dominant language
- Rust
- Stars
- 399
- Forks
- 224
- Avg merge
- 15h 44m
- Merged PRs (30d)
- 2
Description
The node's SSE port emits a set of events:
```
pub enum SseEventType {
ApiVersion,
BlockAdded,
Fault,
FinalitySignature,
Shutdown,
SidecarVersion,
Step,
TransactionAccepted,
TransactionExpired,
TransactionProcessed,
}
```
Event types are associated with event data:
```
use serde_json::Value as JsonValue;
pub enum SseEventData {
ApiVersion(JsonValue),
BlockAdded(JsonValue),
Fault(JsonValue),
FinalitySignature(JsonValue),
Shutdown,
SidecarVersion(JsonValue),
Step(JsonValue),
TransactionAccepted(JsonValue),
TransactionExpired(JsonValue),
TransactionProcessed(JsonValue),
}
```
The SSE server **should also support binary** encoded event data. Upon connection, the client would specify which codec they wished to consume. SDK authors then have choice whether to support one or both codecs.
```
use serde_json::Value as JsonValue;
pub enum SseEventPayload {
Json(JsonValue),
Binary(Vec),
}
```
```
pub enum SseEventData {
ApiVersion(SseEventPayload),
BlockAdded(SseEventPayload),
Fault(SseEventPayload),
FinalitySignature(SseEventPayload),
Shutdown,
SidecarVersion(SseEventPayload),
Step(SseEventPayload),
TransactionAccepted(SseEventPayload),
TransactionExpired(SseEventPayload),
TransactionProcessed(SseEventPayload),
}
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.