[ 
http://dev.sourcefabric.org/browse/LS-405?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Baelde updated LS-405:
----------------------------

    Priority: Minor  (was: Blocker)

> Services as methods
> -------------------
>
>                 Key: LS-405
>                 URL: http://dev.sourcefabric.org/browse/LS-405
>             Project: Liquidsoap
>          Issue Type: New Feature
>          Components: Liquidsoap
>            Reporter: David Baelde
>            Assignee: David Baelde
>
> I'm considering an object-oriented extension of our scripting language that 
> would allow a nice integration of services (server commands) as methods. It 
> would make it possible for users to redefine methods, define their own. Also, 
> it would bring some structure to services, ensuring that they are printed in 
> a uniform way. Finally, it brings recursivity (through self) that was needed 
> in some cases:
> {{{
> def live =
>   # dummy init, an option type would be nice...
>   o = ref blank()
>   extend input.harbor("/mount") with
>     method on_connect() =
>       o := output.file(%vorbis,"backup.ogg",self)
>     end
>     method on_disconnect() =
>       source.shutdown(!o)
>     end
>   end
> end
> }}}
> It doesn't seem too hard to do (except for migrating all existing server 
> code) but I need to make sure how to handle the recursive types that can 
> arise.
> There are a couple questions:
>  * Do we still reference sources by their ID in the server? It's not always 
> possible to reference them through variable names.
>  * How much of the API do we change? Is (!o)#shutdown preferable to 
> source.shutdown(!o)? Should all event handlers become methods?
>  * How will we print those huge types?

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://dev.sourcefabric.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

------------------------------------------------------------------------------
Gaining the trust of online customers is vital for the success of any company
that requires sensitive data to be transmitted over the Web.   Learn how to 
best implement a security strategy that keeps consumers' information secure 
and instills the confidence they need to proceed with transactions.
http://p.sf.net/sfu/oracle-sfdevnl 
_______________________________________________
Savonet-devl mailing list
Savonet-devl@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/savonet-devl

Répondre à