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.