Skip to content

Commit 45f34c8

Browse files
Merge pull request #573 from Hyperloop-UPV/backend/revive-tcp
feat(backend): propagate fault
2 parents f50973a + 12fee3e commit 45f34c8

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

backend/pkg/vehicle/vehicle.go

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,17 @@ func (vehicle *Vehicle) UserPush(push abstraction.BrokerPush) error {
4646
return nil
4747
}
4848

49+
// Orders with id 0 are faults: broadcast them to every board instead
50+
// of routing them like a regular order
51+
if order.Id == 0 {
52+
if transp, ok := vehicle.transport.(*transport.Transport); ok {
53+
transp.SendFault()
54+
vehicle.notifyError("PROPAGATING ORDER FAULT", errors.New("order with id 0 received, fault broadcasted to all boards"))
55+
return nil
56+
}
57+
return fmt.Errorf("cannot propagate fault: transport does not support SendFault")
58+
}
59+
4960
packet, err := order.ToPacket()
5061
if err != nil {
5162
fmt.Fprintf(os.Stderr, "error converting order to packet: %v\n", err)

0 commit comments

Comments
 (0)