@@ -816,7 +816,8 @@ int Node::OnObserveProxy(const PortRef& port_ref,
816
816
event->set_control_sequence_num (
817
817
port->next_control_sequence_num_to_send ++);
818
818
if (port->state == Port::kBuffering ) {
819
- port->control_message_queue .push ({event_target_node, std::move (event)});
819
+ port->control_message_queue .push_back (
820
+ {event_target_node, std::move (event)});
820
821
} else {
821
822
event_to_forward = std::move (event);
822
823
}
@@ -961,7 +962,7 @@ int Node::OnObserveClosure(const PortRef& port_ref,
961
962
peer_node_name = port->peer_node_name ;
962
963
963
964
if (port->state == Port::kBuffering ) {
964
- port->control_message_queue .push ({peer_node_name, std::move (event)});
965
+ port->control_message_queue .push_back ({peer_node_name, std::move (event)});
965
966
}
966
967
}
967
968
@@ -1074,7 +1075,7 @@ int Node::OnUserMessageReadAckRequest(
1074
1075
port->next_control_sequence_num_to_send ++, current_sequence_num);
1075
1076
1076
1077
if (port->state == Port::kBuffering ) {
1077
- port->control_message_queue .push (
1078
+ port->control_message_queue .push_back (
1078
1079
{peer_node_name, std::move (event_to_send)});
1079
1080
}
1080
1081
@@ -1519,7 +1520,7 @@ int Node::PrepareToForwardUserMessage(const PortRef& forwarding_port_ref,
1519
1520
UserMessageEvent* message,
1520
1521
NodeName* forward_to_node) {
1521
1522
bool target_is_remote = false ;
1522
- std::queue <PendingUpdatePreviousPeer> peer_update_events;
1523
+ std::vector <PendingUpdatePreviousPeer> peer_update_events;
1523
1524
1524
1525
for (;;) {
1525
1526
NodeName target_node_name;
@@ -1628,7 +1629,7 @@ int Node::PrepareToForwardUserMessage(const PortRef& forwarding_port_ref,
1628
1629
.from_port = attached_port_refs[i].name ()};
1629
1630
ConvertToProxy (port, target_node_name, message->ports () + i,
1630
1631
port_descriptors + i, &update_event);
1631
- peer_update_events.push (update_event);
1632
+ peer_update_events.push_back (update_event);
1632
1633
}
1633
1634
}
1634
1635
}
@@ -1648,9 +1649,7 @@ int Node::PrepareToForwardUserMessage(const PortRef& forwarding_port_ref,
1648
1649
break ;
1649
1650
}
1650
1651
1651
- while (!peer_update_events.empty ()) {
1652
- auto pending_update_event = peer_update_events.front ();
1653
- peer_update_events.pop ();
1652
+ for (auto & pending_update_event : peer_update_events) {
1654
1653
delegate_->ForwardEvent (
1655
1654
pending_update_event.receiver ,
1656
1655
mozilla::MakeUnique<UpdatePreviousPeerEvent>(
@@ -1679,7 +1678,7 @@ int Node::PrepareToForwardUserMessage(const PortRef& forwarding_port_ref,
1679
1678
}
1680
1679
1681
1680
int Node::BeginProxying (const PortRef& port_ref) {
1682
- std::queue <std::pair<NodeName, ScopedEvent>> control_message_queue;
1681
+ std::vector <std::pair<NodeName, ScopedEvent>> control_message_queue;
1683
1682
{
1684
1683
SinglePortLocker locker (&port_ref);
1685
1684
auto * port = locker.port ();
@@ -1690,12 +1689,12 @@ int Node::BeginProxying(const PortRef& port_ref) {
1690
1689
std::swap (port->control_message_queue , control_message_queue);
1691
1690
}
1692
1691
1693
- while (!control_message_queue.empty ()) {
1694
- auto node_event_pair = std::move (control_message_queue.front ());
1695
- control_message_queue.pop ();
1696
- delegate_->ForwardEvent (node_event_pair.first ,
1697
- std::move (node_event_pair.second ));
1692
+ for (auto & [control_message_node_name, control_message_event] :
1693
+ control_message_queue) {
1694
+ delegate_->ForwardEvent (control_message_node_name,
1695
+ std::move (control_message_event));
1698
1696
}
1697
+ control_message_queue.clear ();
1699
1698
1700
1699
int rv = ForwardUserMessagesFromProxy (port_ref);
1701
1700
if (rv != OK) {
0 commit comments