You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@etch.apache.org by "scott comer (JIRA)" <ji...@apache.org> on 2009/02/06 18:29:59 UTC
[jira] Created: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
-------------------------------------------------------------------------------------------------------
Key: ETCH-59
URL: https://issues.apache.org/jira/browse/ETCH-59
Project: Etch
Issue Type: Improvement
Components: csharp-binding, java-binding
Affects Versions: 1.0.1, 1.0.0, 1.0.2
Reporter: scott comer
Assignee: scott comer
Priority: Minor
Fix For: 1.1
when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
Re: [jira] Created: (ETCH-59) Listener stack is build 1/2 upside
down and strange inhibiting name service and other transport filters
Posted by scott comer <sc...@cisco.com>.
agreed.
James Dixson wrote:
> I have no objections, but I think as part of the change we should try to
> document the internal steps for constructing transports.
>
> Changes like this impede the rate at which we integrate other languages,
> e.g. Python. Mostly because I have to re-learn the flow and decide how
> impactful the change is to the binding implementation.
>
> --
> James
>
>
>
> On 2/9/09 10:35 AM, "Scott Comer (sccomer)" <sc...@cisco.com> wrote:
>
>
>> anyone object to this going into etch release 1.1? i've attached a patch
>> for java and comment describing the issue a bit more fully.
>>
>> it is mainly an issue of who does plumbing and when. this makes the
>> listener stack construction process more like the
>> transport stack construction. there is little risk but some code changes
>> would be needed to existing listeners as the
>> top level object changed from Transport<ServerFactory> to just
>> ServerFactory (as that became a Transport itself).
>>
>> scott out
>>
>> scott comer (JIRA) wrote:
>>
>>> Listener stack is build 1/2 upside down and strange inhibiting name service
>>> and other transport filters
>>> -----------------------------------------------------------------------------
>>> --------------------------
>>>
>>> Key: ETCH-59
>>> URL: https://issues.apache.org/jira/browse/ETCH-59
>>> Project: Etch
>>> Issue Type: Improvement
>>> Components: csharp-binding, java-binding
>>> Affects Versions: 1.0.1, 1.0.0, 1.0.2
>>> Reporter: scott comer
>>> Assignee: scott comer
>>> Priority: Minor
>>> Fix For: 1.1
>>>
>>>
>>> when a service creates a listener, using BlahHelper.newListener(), the
>>> listener stack is built top down for a bit and then bottom up and glued
>>> together. this is done in such a way that creating a listener filter is
>>> inhibited. this is needed for the name server's etch: listener scheme.
>>>
>>>
>>>
>
>
Re: [jira] Created: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by James Dixson <ja...@cisco.com>.
I have no objections, but I think as part of the change we should try to
document the internal steps for constructing transports.
Changes like this impede the rate at which we integrate other languages,
e.g. Python. Mostly because I have to re-learn the flow and decide how
impactful the change is to the binding implementation.
--
James
On 2/9/09 10:35 AM, "Scott Comer (sccomer)" <sc...@cisco.com> wrote:
> anyone object to this going into etch release 1.1? i've attached a patch
> for java and comment describing the issue a bit more fully.
>
> it is mainly an issue of who does plumbing and when. this makes the
> listener stack construction process more like the
> transport stack construction. there is little risk but some code changes
> would be needed to existing listeners as the
> top level object changed from Transport<ServerFactory> to just
> ServerFactory (as that became a Transport itself).
>
> scott out
>
> scott comer (JIRA) wrote:
>> Listener stack is build 1/2 upside down and strange inhibiting name service
>> and other transport filters
>> -----------------------------------------------------------------------------
>> --------------------------
>>
>> Key: ETCH-59
>> URL: https://issues.apache.org/jira/browse/ETCH-59
>> Project: Etch
>> Issue Type: Improvement
>> Components: csharp-binding, java-binding
>> Affects Versions: 1.0.1, 1.0.0, 1.0.2
>> Reporter: scott comer
>> Assignee: scott comer
>> Priority: Minor
>> Fix For: 1.1
>>
>>
>> when a service creates a listener, using BlahHelper.newListener(), the
>> listener stack is built top down for a bit and then bottom up and glued
>> together. this is done in such a way that creating a listener filter is
>> inhibited. this is needed for the name server's etch: listener scheme.
>>
>>
>
--
James Dixson
Manager, Software Development
CUAE Engineering, Cisco Systems
(e) jadixson@cisco.com
(p) 512-336-3305
(m) 512-968-2116
Re: [jira] Created: (ETCH-59) Listener stack is build 1/2 upside
down and strange inhibiting name service and other transport filters
Posted by scott comer <sc...@cisco.com>.
anyone object to this going into etch release 1.1? i've attached a patch
for java and comment describing the issue a bit more fully.
it is mainly an issue of who does plumbing and when. this makes the
listener stack construction process more like the
transport stack construction. there is little risk but some code changes
would be needed to existing listeners as the
top level object changed from Transport<ServerFactory> to just
ServerFactory (as that became a Transport itself).
scott out
scott comer (JIRA) wrote:
> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.1, 1.0.0, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
>
>
[jira] Updated: (ETCH-59) Listener stack is built 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by "scott comer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
scott comer updated ETCH-59:
----------------------------
Summary: Listener stack is built 1/2 upside down and strange inhibiting name service and other transport filters (was: Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters)
> Listener stack is built 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.0, 1.0.1, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
> Attachments: listener_structure_patch.txt
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by "scott comer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
scott comer updated ETCH-59:
----------------------------
Attachment: java_listener_structure_patch.txt
fix for this issue in java-binding.
> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.0, 1.0.1, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
> Attachments: java_listener_structure_patch.txt
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
Re: [jira] Updated: (ETCH-59) Listener stack is build 1/2 upside
down and strange inhibiting name service and other transport filters
Posted by "scott comer (sccomer)" <sc...@cisco.com>.
since there are no other comments, i will apply the patch for both java
and csharp and commit. this
will break existing MainBlahListener programs (and any other programs
which call BlahHelper.newListener().
you will need to recompile all etch files within your project (for java
and csharp bindings), then manually fix any
remaining problems. where you now have:
Transport<ServerFactory> listener = ...
you will need to change it to:
ServerFactory listener = ....
scott out
scott comer (JIRA) wrote:
> [ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
>
> scott comer updated ETCH-59:
> ----------------------------
>
> Attachment: listener_structure_patch.txt
>
> this patch includes a fix for the generated helper file resolving some issues between local and global references to uri and resources, and also a toString() method so that listeners print correctly.
>
> also included is the csharp version of the patch.
>
>
>> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
>> -------------------------------------------------------------------------------------------------------
>>
>> Key: ETCH-59
>> URL: https://issues.apache.org/jira/browse/ETCH-59
>> Project: Etch
>> Issue Type: Improvement
>> Components: csharp-binding, java-binding
>> Affects Versions: 1.0.0, 1.0.1, 1.0.2
>> Reporter: scott comer
>> Assignee: scott comer
>> Priority: Minor
>> Fix For: 1.1
>>
>> Attachments: listener_structure_patch.txt
>>
>>
>> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
>> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
>>
>
>
[jira] Updated: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by "scott comer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
scott comer updated ETCH-59:
----------------------------
Attachment: listener_structure_patch.txt
this patch includes a fix for the generated helper file resolving some issues between local and global references to uri and resources, and also a toString() method so that listeners print correctly.
also included is the csharp version of the patch.
> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.0, 1.0.1, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
> Attachments: listener_structure_patch.txt
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by "scott comer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
scott comer resolved ETCH-59.
-----------------------------
Resolution: Fixed
> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.0, 1.0.1, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
> Attachments: listener_structure_patch.txt
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by "scott comer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
scott comer updated ETCH-59:
----------------------------
Attachment: (was: java_listener_structure_patch.txt)
> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.0, 1.0.1, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (ETCH-59) Listener stack is build 1/2 upside down
and strange inhibiting name service and other transport filters
Posted by "scott comer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/ETCH-59?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12671910#action_12671910 ]
scott comer commented on ETCH-59:
---------------------------------
constructing a listener:
(using TcpTransportFactory as an example)
MainBlahListener implements BlahHelper.BlahServerFactory
newBlahServer( RemoteBlahClient client ) method returns new
ImplBlahServer( client );
MainBlahListener.main:
Transport<ServerFactory> listener = BlahHelper.newListener( uri, null,
new MainBlahListener() );
listener.transportControl( Transport.START_AND_WAIT_UP, 4000 );
BlahHelper.newListener (uri, resources, implFactory):
return TransportFactory.getListener( uri, resources, new subclass of
DefaultServerFactory( implFactory ) )
(the DefaultServerFactory is all about responding to newServer method to
build the transport stack for a new connection)
TransportFactory.getListener( uri, resources, factory ):
TransportFactory f = getTransportFactory( u.getScheme() );
return f.newListener( uri, resources, factory );
TcpTransportFactory.newListener( uri, resources, factory ):
Transport<SessionListener<Socket>> l = new TcpListener( u, resources );
MySessionListener b = new MySessionListener( l, uri, resources );
b.setSession( factory );
return b;
Here is the resulting stack of objects:
(implFactory)
(subclass of DefaultServerFactory)
(MySessionListener)
(TcpListener)
and remember, listener as returned by BlahHelper.newListener is MySessionListener.
to recap:
first we create implFactory
then we create our subclass of DefaultServerFactory
then we ask for a listener stack, passing in our subclass of DefaultServerFactory
return listener stack, leaving default server factory out of the loop.
this means the code which constructs the listener stack has to do the final
plumbing.
here is the better order, which is more like how the transport stack is constructed:
first we create implFactory
then we ask for a listener stack
then we create our subclass of DefaultServerFactory, passing in both the listener
and the implFactory.
return our subclass of DefaultServerFactory
> Listener stack is build 1/2 upside down and strange inhibiting name service and other transport filters
> -------------------------------------------------------------------------------------------------------
>
> Key: ETCH-59
> URL: https://issues.apache.org/jira/browse/ETCH-59
> Project: Etch
> Issue Type: Improvement
> Components: csharp-binding, java-binding
> Affects Versions: 1.0.0, 1.0.1, 1.0.2
> Reporter: scott comer
> Assignee: scott comer
> Priority: Minor
> Fix For: 1.1
>
> Attachments: java_listener_structure_patch.txt
>
>
> when a service creates a listener, using BlahHelper.newListener(), the listener stack is built top down for a bit and then bottom up and glued
> together. this is done in such a way that creating a listener filter is inhibited. this is needed for the name server's etch: listener scheme.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.