You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by "Frank Barnaby (JIRA)" <ji...@apache.org> on 2007/07/27 17:18:18 UTC
[jira] Updated: (RIVER-111) Should add emissary support methods to
SpaceProxy
[ https://issues.apache.org/jira/browse/RIVER-111?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Frank Barnaby updated RIVER-111:
--------------------------------
Description:
Bugtraq ID [4346959|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4346959]
We should decouple the transport/protocol from the data in the communications between {{SpaceProxy}} and {{OutriggerSpace}}. For some applications it would be handy to be able to transport the necessary information for a spaces operation using a diffrent transport/protocol.
You could build an implemention of spaces that relies on another implemention to do the work, but uses a diffrent protocol/transaport, however, you run into problems because it is difficult to get the right serilization sematics.
*Suggested Fix*
Add something like the following methods to {{SpaceProxy}}
{code}
// these two methods must be local
public Object marshalEntry(Entry e) throws IOException;
public Entry unmarshalEntry(Object o) throws UnusableEntryException;
public Lease write(Object preMarshalledEntry, Transaction txn,
long time)
throws TransactionException, RemoteException;
public Object read(Object preMarshalledTemplate, Transaction txn,
long timeout)
throws TransactionException, InterruptedException, RemoteException;
etc...
{code}
Might want to use {{byte[]}} for the pre-Marshalled entries instead of {{Object...}} (though I suppose {{byte[]}} are a type of {{Object....}})
*See Also*
[4468219|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4468219]
was:
Bugtraq ID [4346959|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4346959]
We should decouple the transport/protocol from the data in the communications between {{SpaceProxy}} and {{OutriggerSpace}}. For some applications it would be handy to be able to transport the necessary information for a spaces operation using a diffrent transport/protocol.
You could build an implemention of spaces that relies on another implemention to do the work, but uses a diffrent protocol/transaport, however, you run into problems because it is difficult to get the right serilization sematics.
*Suggested Fix*
Add something like the following methods to {{SpaceProxy}}
{code}
// this two methods must be local
public Object marshalEntry(Entry e) throws IOException;
public Entry unmarshalEntry(Object o) throws UnusableEntryException;
public Lease write(Object preMarshalledEntry, Transaction txn,
long time)
throws TransactionException, RemoteException;
public Object read(Object preMarshalledTemplate, Transaction txn,
long timeout)
throws TransactionException, InterruptedException, RemoteException;
etc...
{code}
Might want to use {{byte[]}} for the pre-Marshalled entries instead of {{Object...}} (though I suppose {{byte[]}} are a type of {{Object....}})
*See Also*
[4468219|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4468219]
> Should add emissary support methods to SpaceProxy
> -------------------------------------------------
>
> Key: RIVER-111
> URL: https://issues.apache.org/jira/browse/RIVER-111
> Project: River
> Issue Type: Improvement
> Components: com_sun_jini_outrigger
> Affects Versions: jtsk_1.0
> Reporter: Frank Barnaby
> Priority: Minor
>
> Bugtraq ID [4346959|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4346959]
> We should decouple the transport/protocol from the data in the communications between {{SpaceProxy}} and {{OutriggerSpace}}. For some applications it would be handy to be able to transport the necessary information for a spaces operation using a diffrent transport/protocol.
> You could build an implemention of spaces that relies on another implemention to do the work, but uses a diffrent protocol/transaport, however, you run into problems because it is difficult to get the right serilization sematics.
> *Suggested Fix*
> Add something like the following methods to {{SpaceProxy}}
> {code}
> // these two methods must be local
> public Object marshalEntry(Entry e) throws IOException;
> public Entry unmarshalEntry(Object o) throws UnusableEntryException;
> public Lease write(Object preMarshalledEntry, Transaction txn,
> long time)
> throws TransactionException, RemoteException;
> public Object read(Object preMarshalledTemplate, Transaction txn,
> long timeout)
> throws TransactionException, InterruptedException, RemoteException;
> etc...
> {code}
> Might want to use {{byte[]}} for the pre-Marshalled entries instead of {{Object...}} (though I suppose {{byte[]}} are a type of {{Object....}})
> *See Also*
> [4468219|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4468219]
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.