Le 07/11/2011 11:57, Romain Beauxis a écrit :
> I am wondering something tough: could you benefit from another design
> of your solution?

Why not !
> Sources IDs are unique and retrievable using source.id. Thus, why not
> using a separate list of source's metadata_url values, indexed by
> source ID? Something like:
Do you speak about the source ID I specify at output creation ?

output = out(id="#{stream_id}".....)

Because if yes - as this is the same stream_id I use in robinet - the 
only thing I would need to pass on telnet to call update_url correctly is

update_url <stream_id>|<metadata_url>


>
> # The list
> sources_metadata_urls = ref []
>
> # Update it
> def update_url(source, url) =
>    id = source.id(s)
>    elem = (id, url)

def update_url(uri) =

     param = string.split(separator="\|",uri)
     id = list.nth(param,0)
     url = list.nth(param,1)

   elem = (id, url)
  (...)

Would be right ?

>
>    # Directly append if not already present
>    if not list.mem_assoc(id, !sources_metadata_urls) then
>      sources_metadata_urls := list.append([elem], !sources_metadata_urls)
>    else
>      # This is more painful..
>      def f(x, cur) =
>        test_id = fst(x)
>        # Update if given element matches
>        if test_id == id then
>          list.append([elem], cur)
>        else
>          # Otherwise, put it back
>          list.append([x], cur)
>        end
>      end
>      sources_metadata_urls := list.fold(f, !sources_metadata_urls)
I have added the missing "end" of the "if not..." here
> end

BTW I have a type error with that example I am not capable to decrypt:
At line 201, char 41:
   this value has type
     (...)->[_] (infered at line 191 char 5 - line 200 char 7)
   but it should be a subtype of
     (...)->(_*_)

It's still difficult for me to understand type errors

>
> I have not tested this, but I hope you get the idea..
>
> Romain

Thanks Romain I get the idea.

------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to