[asterisk-dev] [RFC] optimising RTP traffic?

Roy Sigurd Karlsbakk roy at karlsbakk.net
Sat Jul 22 04:28:30 MST 2006


> Summing it up about optimizing RTP traffic - I get that "sendfile"  
> is off-limits"
> because one of the file descriptions can't be a socket.

That's right. I was wrong about sendfiles with sockets

> splice - while einticing, is only avaialbe in new Lunix kernels,  
> also it lacks
> user space library support (I'll take this back if someone explains  
> me how I
> can do a syscall without library support)

Just create prototypes...

/* Splice address range into a pipe.  */
extern int vmsplice (int __fdout, const struct iovec *__iov, size_t  
__count,
		     unsigned int __flags);

/* Splice two files together.  */
extern int splice (int __fdin, int __fdout, size_t __len, unsigned  
int __flags)
     __THROW;

/* In-kernel implementation of tee for pipe buffers.  */
extern int tee (int __fdin, int __fdout, size_t __len, unsigned int  
__flags)
     __THROW;

grabbed from a patch from http://sourceware.org/ml/libc-ports/2006-04/ 
msg00044.html

>  This leaves epoll and the only candiate to boost RTP performance  
> on asterisk.

epoll and splice, yes.

roy
--
Roy Sigurd Karlsbakk
roy at karlsbakk.net
(+47) 98013356
---
In space, loud sounds, like explosions, are even louder because there  
is no air to get in the way.





More information about the asterisk-dev mailing list