on *:SOCKREAD:sockname:{
if ( $sockerr ) return
sockread %temp
if ( %temp == <request for image> ) {
sockmark $sockname sending
set %sendfile filename.jpg
set %sendpos 0
sendfilenext
}
}
on *:SOCKWRITE:sockname:{
if ( $sockerr ) return
if ( $sock($sockname).mark == sending ) {
sendfilenext
}
}
alias sendfilenext {
var %queuespace = $calc(16384 - $sock($sockname).sq)
if ( %queuespace > 0 ) {
bread %sendfile %sendpos %queuespace &temp
sockwrite $sockname &temp
inc %sendpos %queuespace
if ( %sendpos >= $file(%sendfile).size ) {
sockmark $sockname
echo -a Sending of %sendfile complete
}
}
}