2012/3/27 Romain Beauxis <[email protected]>:
> 2012/3/27 Romain Beauxis <[email protected]>:
>> 2012/3/26 udo noll <[email protected]>:
>>> hello,
>>
>> Hi,
>>
>>> maybe someone can enlighten me:
>>>
>>> #my request source
>>> push = request.queue(id="agent")
>>>
>>> # add a flush, i.e stop command
>>> def add_flush(s) =
>>> def flush(_) =
>>> ret = server.execute("#{source.id(s)}.queue")
>>> ret = list.hd(ret)
>>> ret = string.split(separator=" ", ret)
>>> if list.length(ret) > 0 then
>>> list.iter(fun(x) -> begin
>>> ignore(server.execute("#{source.id(s)}.ignore #{x}")) end, ret)
>>> source.skip(s)
>>> end
>>> "done."
>>> end
>>>
>>> server.register(namespace="#{source.id(s)}",
>>> description="flush queue",
>>> usage="flush",
>>> "flush",
>>> flush)
>>> end
>>> add_flush(push)
>>>
>>> i'd expet that this adds a command "agent.flush" to my list of server
>>> commands.
>>> but it adds something like src_1234.flush
>>> is #{source.id(s) not the id "agent" i've specified in request.queue?
>>> if i replace #{source.id(s)} with the id string, all is fine. but i wanted
>>> to
>>> reuse the function for other request.queue too...
>>> what's wrong? thanks for any tips,
>>
>> I think your problem is that the fact that final source IDs are
>> attributed at run-time. It is very possible that at the time you
>> register your server command, the source has a temporary ID that is
>> changed when streaming starts. I would recommend trying something on
>> these lines:
>
> Crap, sorry, here's what I meant
...third one's a charm:
# add a flush, i.e stop command
def add_flush(id) =
#my request source
push = request.queue(id=id)
def flush(_) =
ret = server.execute("#{source.id(push)}.queue")
ret = list.hd(ret)
ret = string.split(separator=" ", ret)
if list.length(ret) > 0 then
list.iter(fun(x) -> begin
ignore(server.execute("#{source.id(push)}.ignore #{x}")) end, ret)
source.skip(push)
end
"done."
end
server.register(namespace=id,
description="flush queue",
usage="flush",
"flush",
flush)
push
end
push = add_flush("agent")
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users