Closed Bug 27017 Opened 25 years ago Closed 24 years ago

nsINetModMgr should go away

Categories

(Core :: Networking, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED WONTFIX

People

(Reporter: jud, Assigned: ruslan)

References

Details

(Whiteboard: [nsbeta2-] [NEED INFO])

To minimize GetProxyObject() calls we should just convert the module manager 
stuff to nsIObserver.
valeski@netscape.com is there any reason that this should be beta1?
Target Milestone: M15
no, did I put beta in there. sorry if I did.
Blocks: 28042
warren, jud, sorry guys.

m15 --> m17
Target Milestone: M15 → M17
*** Bug 28042 has been marked as a duplicate of this bug. ***
gagan,  can you look into doing this?
Assignee: dougt → gagan
Maybe Ruslan should own this. I filed a bug last night about http thread-safety 
issues, and this class was involved. It would be good to tackle both at once.
Status: NEW → ASSIGNED
-> myself
Assignee: gagan → ruslan
Status: ASSIGNED → NEW
Fixing this should reduce the chance that we crash during activation. 

http://bugzilla.mozilla.org/show_bug.cgi?id=34718



Keywords: nsbeta2
Making [nsbeta2-] and Putting on [NEED INFO] radar. PDT needs to know impact to 
user and risk of fix to make a call on this bug. Please let us know when you 
have a fix in hand so we can discuss whether to land this thing or not.
Whiteboard: [nsbeta2-] [NEED INFO]
module manager is a complete nightmare in case when you try to run the handler 
on a non-UI thread. Unfortunately it's being used all over the place. I'll see 
what's involved into fixing this completely.
Status: NEW → ASSIGNED
So far it can't really go away, as we do need to proxy calls back to the 
originating thread. On top of everything I had to do the same for 
OnProgress/etc. events as well. Once Warren finalizes notification object we can 
replaced this and status notification events with it. Removing nsbeta2 and 
pushing the milestone forward.
Keywords: nsbeta2
Target Milestone: M17 → M18
I can't go away, since we need to proxy calls back to UI thread and the proxy 
code itself is already checking if it's on the same thread and makes a direct 
call.
Status: ASSIGNED → RESOLVED
Closed: 24 years ago
Resolution: --- → WONTFIX
ruslan, are the calls to getProxy minimized?  do we create proxies more than we 
absolutely have to?
Right now for every HTTP request and response we create a proxy for each 
listener (one for the request and one for the response). It's done every time in 
the interest of handling a runtime change in the listeners. We could require 
that listeners register at module load time and cache each listener.
that would be a good optimization.  reopen bug?
sure. as long as we're ok w/ losing the dynamic runtime checking for new
listeners.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
We HAVE to create proxies for the cases we use. The only solution in the future 
is to come up with only one interceptor (at the expense of the beaty of the 
code) and each consumer will have to recognize what's going on. When the handler 
is running on the same thread (which is the case for almost all cases with http) 
- there's no overhead at all, because proxy code will recognize that fact and 
will not do anything.
Status: REOPENED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → WONTFIX
ruslan, you mis-understood. we're still talking about using proxies, just 
caching them and keeping them in a list rather than creating them twice for 
*every* http transaction.
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Also, I thought the point of this bug was to eliminate nsINetModMgr in favor of 
nsIObserver -- nothing to do with when and if the observer gets proxied or not.
I still don't understand what's the problem. The proxy object even in cases when 
it gets created is getting cached in netmodule entry. The performance impact 
should be minimal.
Adding nsbeta2 keyword to bugs with nsbeta2 triage value in status field so the 
queries don't get screwed up
Keywords: nsbeta2
wontfix for now.
Status: REOPENED → RESOLVED
Closed: 24 years ago24 years ago
Resolution: --- → WONTFIX
verified Wontfix
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.