diff options
author | David Robillard <d@drobilla.net> | 2017-03-19 10:36:11 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2017-03-20 02:58:56 +0100 |
commit | efc0fe0a973db706d9409b345ad6fae585f4388c (patch) | |
tree | 6348b6bd17e358ed328b5c443966436fb36521e5 /src/server/InputPort.hpp | |
parent | f46a3ec40a691a6892ad5536ca47de175a9c05b7 (diff) | |
download | ingen-efc0fe0a973db706d9409b345ad6fae585f4388c.tar.gz ingen-efc0fe0a973db706d9409b345ad6fae585f4388c.tar.bz2 ingen-efc0fe0a973db706d9409b345ad6fae585f4388c.zip |
Improve arc list efficiency
Diffstat (limited to 'src/server/InputPort.hpp')
-rw-r--r-- | src/server/InputPort.hpp | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/server/InputPort.hpp b/src/server/InputPort.hpp index 73911789..323da3e5 100644 --- a/src/server/InputPort.hpp +++ b/src/server/InputPort.hpp @@ -58,10 +58,8 @@ public: const Atom& value, size_t buffer_size = 0); - virtual ~InputPort() {} - typedef boost::intrusive::slist<ArcImpl, - boost::intrusive::constant_time_size<false> + boost::intrusive::constant_time_size<true> > Arcs; /** Return the maximum polyphony of an output connected to this input. */ @@ -76,14 +74,13 @@ public: * * setup_buffers() must be called later for the change to take effect. */ - void add_arc(RunContext& context, ArcImpl* c); + void add_arc(RunContext& context, ArcImpl& c); /** Remove an arc. Realtime safe. * * setup_buffers() must be called later for the change to take effect. */ - ArcImpl* remove_arc(RunContext& context, - const PortImpl* tail); + void remove_arc(ArcImpl& arc); /** Like `get_buffers`, but for the pre-process thread. * |