dotgnu-general
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [DotGNU]Portable.NET: Embedding issues ..


From: James Mc Parlane
Subject: RE: [DotGNU]Portable.NET: Embedding issues ..
Date: Mon, 10 Feb 2003 11:31:45 +1100

I'm going to be embedding pnet as well into my little side project (A
distributed active object model). This info will prove very handy as a guide
for later on. You would be surprised how many of the VM's and interpreters
out there have hidden global variables or TLS areas that makes imbedding
them into a multithreaded system near impossible. Ruby, Python etc...

> -----Original Message-----
> From: Rhys Weatherley [mailto:address@hidden
> Sent: Monday, February 10, 2003 8:24 AM
> To: Tobias Oberstein; address@hidden
> Subject: Re: [DotGNU]Portable.NET: Embedding issues ..
> 
> 
> On Monday 10 February 2003 04:15 am, Tobias Oberstein wrote:
> 
> > 1. The relation between
> >
> >  - database sessions
> >  - OS threads
> >  - VM instances
> >
> > In a perfect world, I'd like to have a completely isolated VM
> > instance associated with each database session. The association
> > would be setup when the database client connects and the VM would
> > be shut down when the connections ends or timeouts. [...]
> >
> > Possible?
> 
> It should be possible now to create multiple VM instances 
> within a single 
> process (feel free to log a bug if it isn't).  As long as you 
> have some way 
> to synchronise access to a single "ILExecProcess*" value, any 
> thread can make 
> a call on it.  We don't currently have support for multiple 
> threads running 
> within a VM instance, but that is a separate issue from 
> multiple threads 
> outside the VM instance making calls.

So we can get call pnet from multiple process threads, but Threading in pnet
is `"'broken'"`? :)
 
> > 2. Custom class loader
> >
> > In a perfect world it should be not that hard to hack the run-time
> > such that classes/bytecode is not loaded from files in the 
> filesystem
> > (that is not accessible from the database .. at least it 
> should not),
> > but classes/bytecode are loaded from the database itself. 
> Classes/bytecode
> > would be uploaded (under compete transaction control) into 
> the database
> > via a special interface.
> >
> > Possible?
> 
> Being able to load from memory or a custom loader is on our TODO list.

Well this is a big one for me too :)

> > 3. Transparent object persistence
> >
> > Most important, is it possible to hack the run-time (the 
> CTS?) such that
> > a user can declare new types to be persistable, e.g in C# like so:
> >
> > public class MyClass
> > {
> >    [Persistable]
> > ...
> > }
> >
> >
> > public class MyKeyedClass
> > {
> >    [Persistable(int)]
> > ...
> > }
> >
> > Instances of persistable classes are sharable between all 
> VM instances.
> > All synchronisation is done under the hood by the OO database.
> 
> Is this a standard .NET mechanism, or something that you 
> yourself have 
> devised?  I'm not really sure what you require in this case.  
> Is sounds like 
> you want some kind of remoting facility.  We don't have .NET 
> remoting yet, as 
> it isn't part of the ECMA standards, but it will come 
> eventually.  If you 
> would like to submit patches for it, it will come quicker.

Perhaps you mean something like the Java persistable class?

http://vsoc.sourceforge.net/jd/vsoc/util/Persistable.html

> Cheers,
> 
> Rhys.
> 
> _______________________________________________
> Developers mailing list
> address@hidden
> http://www.dotgnu.org/mailman/listinfo/developers
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]