summaryrefslogtreecommitdiffstats
path: root/src/server/InputPort.hpp
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2017-03-19 10:36:11 +0100
committerDavid Robillard <d@drobilla.net>2017-03-20 02:58:56 +0100
commitefc0fe0a973db706d9409b345ad6fae585f4388c (patch)
tree6348b6bd17e358ed328b5c443966436fb36521e5 /src/server/InputPort.hpp
parentf46a3ec40a691a6892ad5536ca47de175a9c05b7 (diff)
downloadingen-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.hpp9
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.
*