com.sun.jini.discovery.x500.sha1withdsa
Class Server

java.lang.Object
  extended by com.sun.jini.discovery.x500.sha1withdsa.Server
All Implemented Interfaces:
DelayedMulticastRequestDecoder, DiscoveryFormatProvider, MulticastAnnouncementEncoder, MulticastRequestDecoder

public class Server
extends Object
implements DelayedMulticastRequestDecoder, MulticastAnnouncementEncoder

Implements the server side of the net.jini.discovery.x500.SHA1withDSA format.

Since:
2.0
Author:
Sun Microsystems, Inc.

Constructor Summary
Server()
          Constructs a new instance.
 
Method Summary
 MulticastRequest decodeMulticastRequest(ByteBuffer buf, InvocationConstraints constraints, ClientSubjectChecker checker)
          Decodes the multicast request data contained in the given buffer in a manner that satisfies the specified absolute constraints and client subject checker (if any), returning a MulticastRequest instance that contains the decoded data.
 MulticastRequest decodeMulticastRequest(ByteBuffer buf, InvocationConstraints constraints, ClientSubjectChecker checker, boolean delayConstraintCheck)
          Decodes the multicast request data contained in the given buffer in a manner that satisfies the specified absolute constraints and client subject checker (if any), returning a MulticastRequest instance that contains the decoded data, with constraint checking optionally delayed.
 void encodeMulticastAnnouncement(MulticastAnnouncement announcement, DatagramBufferFactory bufs, InvocationConstraints constraints)
          Encodes the given multicast announcement data into byte buffers obtained from the provided datagram buffer factory, in a manner that satisfies the specified absolute constraints.
 String getFormatName()
          Returns the name of the format implemented by this provider.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Server

public Server()
Constructs a new instance.

Method Detail

getFormatName

public String getFormatName()
Description copied from interface: DiscoveryFormatProvider
Returns the name of the format implemented by this provider.

Specified by:
getFormatName in interface DiscoveryFormatProvider
Returns:
the name of the format implemented by this provider

encodeMulticastAnnouncement

public void encodeMulticastAnnouncement(MulticastAnnouncement announcement,
                                        DatagramBufferFactory bufs,
                                        InvocationConstraints constraints)
                                 throws IOException
Description copied from interface: MulticastAnnouncementEncoder
Encodes the given multicast announcement data into byte buffers obtained from the provided datagram buffer factory, in a manner that satisfies the specified absolute constraints. null constraints are considered equivalent to empty constraints. Multicast announcement data that is too large to fit in a single datagram buffer is split across multiple buffers, with the constraints applied to each; this method is responsible for determining if and when to split the data based on the available space in the obtained buffers.

Specified by:
encodeMulticastAnnouncement in interface MulticastAnnouncementEncoder
Parameters:
announcement - the announcement data to encode
bufs - the factory for producing buffers in which to write encoded data
constraints - the constraints to apply when encoding the data, or null
Throws:
IOException - if an error occurs in encoding the data to send
UnsupportedConstraintException - if unable to satisfy the specified constraints

decodeMulticastRequest

public MulticastRequest decodeMulticastRequest(ByteBuffer buf,
                                               InvocationConstraints constraints,
                                               ClientSubjectChecker checker)
                                        throws IOException
Description copied from interface: MulticastRequestDecoder
Decodes the multicast request data contained in the given buffer in a manner that satisfies the specified absolute constraints and client subject checker (if any), returning a MulticastRequest instance that contains the decoded data. null constraints are considered equivalent to empty constraints. All the specified constraints are checked before this method returns.

Specified by:
decodeMulticastRequest in interface MulticastRequestDecoder
Parameters:
buf - a buffer containing the packet data to decode. The multicast request data must begin at position zero of buf.
constraints - the constraints to apply when decoding the data, or null
checker - the object to use to check the client subject, or null
Returns:
the decoded multicast request data
Throws:
IOException - if an error occurs in interpreting the data

decodeMulticastRequest

public MulticastRequest decodeMulticastRequest(ByteBuffer buf,
                                               InvocationConstraints constraints,
                                               ClientSubjectChecker checker,
                                               boolean delayConstraintCheck)
                                        throws IOException
Description copied from interface: DelayedMulticastRequestDecoder
Decodes the multicast request data contained in the given buffer in a manner that satisfies the specified absolute constraints and client subject checker (if any), returning a MulticastRequest instance that contains the decoded data, with constraint checking optionally delayed. null constraints are considered equivalent to empty constraints. Constraint checking may be delayed using the delayConstraintCheck flag.

If the delayConstraintCheck flag is true, the method behaves as follows:

If delayConstraintCheck is false, all the specified constraints are checked before this method returns.

Specified by:
decodeMulticastRequest in interface DelayedMulticastRequestDecoder
Parameters:
buf - a buffer containing the packet data to decode. The contents of buf may be used on subsequent invocations of the returned MulticastRequest instance's checkConstraints method. The caller must ensure that the contents of buf are not modified before invocation of the checkConstraints method. Additionally, the multicast request data must begin at position zero of buf.
constraints - the constraints to apply when decoding the data, or null
checker - the object to use to check the client subject, or null
delayConstraintCheck - flag to control delayed constraint checking
Returns:
the decoded multicast request data
Throws:
IOException - if an error occurs in interpreting the data


Copyright 2007, multiple authors.
Licensed under the Apache License, Version 2.0, see the NOTICE file for attributions.