5555#include " kernel_manager.h"
5656#include " mpi_manager_impl.h"
5757#include " nest_names.h"
58+ #include " nest_types.h"
5859#include " node.h"
5960#include " sonata_connector.h"
6061#include " stopwatch_impl.h"
@@ -976,23 +977,25 @@ nest::ConnectionManager::find_connection( const size_t tid,
976977 const size_t snode_id,
977978 const size_t tnode_id )
978979{
979- // lcid will hold the position of the /first/ connection from node
980- // snode_id to any local node, or be invalid
981- size_t lcid = source_table_.find_first_source ( tid, syn_id, snode_id );
982- if ( lcid == invalid_index )
980+ if ( use_compressed_spikes_ )
983981 {
984- return invalid_index;
985- }
982+ const size_t source_index = source_table_.find_first_source ( tid, syn_id, snode_id );
983+ if ( source_index == invalid_index )
984+ {
985+ return invalid_index;
986+ }
987+
988+ // lcid will hold the position of the /first/ enabled connection from node
989+ // snode_id to node tnode_id, or be invalid
990+ const size_t lcid = connections_[ tid ][ syn_id ]->find_first_target ( tid, source_index, tnode_id );
986991
987- // lcid will hold the position of the /first/ connection from node
988- // snode_id to node tnode_id, or be invalid
989- lcid = connections_[ tid ][ syn_id ]->find_first_target ( tid, lcid, tnode_id );
990- if ( lcid != invalid_index )
991- {
992992 return lcid;
993993 }
994-
995- return lcid;
994+ else
995+ {
996+ return connections_[ tid ][ syn_id ]->find_enabled_connection ( tid, syn_id, snode_id, tnode_id, source_table_ );
997+ }
998+ return invalid_index;
996999}
9971000
9981001void
@@ -1003,7 +1006,7 @@ nest::ConnectionManager::disconnect( const size_t tid,
10031006{
10041007 assert ( syn_id != invalid_synindex );
10051008
1006- const size_t lcid = find_connection ( tid, syn_id, snode_id, tnode_id );
1009+ const auto lcid = find_connection ( tid, syn_id, snode_id, tnode_id );
10071010
10081011 if ( lcid == invalid_index ) // this function should only be called
10091012 // with a valid connection
@@ -1450,7 +1453,7 @@ nest::ConnectionManager::sort_connections( const size_t tid )
14501453 connections_[ tid ][ syn_id ]->sort_connections ( source_table_.get_thread_local_sources ( tid )[ syn_id ] );
14511454 }
14521455 }
1453- remove_disabled_connections ( tid );
1456+ remove_disabled_connections_ ( tid );
14541457 }
14551458}
14561459
@@ -1700,8 +1703,10 @@ nest::ConnectionManager::compress_secondary_send_buffer_pos( const size_t tid )
17001703}
17011704
17021705void
1703- nest::ConnectionManager::remove_disabled_connections ( const size_t tid )
1706+ nest::ConnectionManager::remove_disabled_connections_ ( const size_t tid )
17041707{
1708+ assert ( use_compressed_spikes_ );
1709+
17051710 std::vector< ConnectorBase* >& connectors = connections_[ tid ];
17061711
17071712 for ( synindex syn_id = 0 ; syn_id < connectors.size (); ++syn_id )
0 commit comments