-
Notifications
You must be signed in to change notification settings - Fork 102
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Witgen: Match machine calls by Bus ID (2) #2488
base: main
Are you sure you want to change the base?
Conversation
.flat_map(|(index, m)| { | ||
m.borrow() | ||
.identity_ids() | ||
.into_iter() | ||
.map(move |id| (id, index)) | ||
}) | ||
.flat_map(|(index, m)| m.borrow().bus_ids().into_iter().map(move |id| (id, index))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks like these are the key changes of this PR. We now use bus_ids
instead of identity_ids
. However, I wonder for cases that don't use the bus linker mode, such as native permutation and lookups, then we won't have bus_ids
? Then how are machine calls linked?
for connection in &all_connections { | ||
for bus_receive in self.fixed.bus_receives.values() { | ||
// If the RHS only consists of fixed columns, record the connection and continue. | ||
if FixedLookup::is_responsible(connection) { | ||
assert!(fixed_lookup_connections | ||
.insert(connection.id, *connection) | ||
if FixedLookup::is_responsible(bus_receive) { | ||
assert!(fixed_lookup_receives | ||
.insert(bus_receive.bus_id, *bus_receive) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What's the key reason for replacing connection with bus_receives? Where's the key logic that matches bus sends with bus receives (via id)?
No description provided.