[Top][All Lists]
[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
>