org.cybergarage.upnp.ssdp

## Class SSDPSearchSocketList

- java.lang.Object
- - java.util.AbstractCollection<E>
  - - java.util.AbstractList<E>
    - - java.util.Vector<SSDPSearchSocket>
      - - org.cybergarage.upnp.ssdp.SSDPSearchSocketList

- All Implemented Interfaces:
    Serializable, Cloneable, Iterable<SSDPSearchSocket>, Collection<SSDPSearchSocket>, List<SSDPSearchSocket>, RandomAccess

      public class SSDPSearchSocketList
      extends Vector<SSDPSearchSocket>

  A collection of SSDP search sockets.

  This class extends Vector to manage multiple SSDPSearchSocket objects that handle outgoing SSDP search requests. It provides type-safe management of the socket pool used for device discovery operations.

  Key features:

  - Multi-socket management for search requests
  - Control request broadcasting to all sockets
  - Network interface support
  - Socket lifecycle management
  - Efficient search request distribution

  This class is used by UPnP control points to manage multiple sockets for sending SSDP M-SEARCH requests across different network interfaces, enabling comprehensive device discovery in multi-homed environments.

  See Also:
    Serialized Form

- - ### Field Summary

    - ### Fields inherited from class java.util.Vector

      `capacityIncrement, elementCount, elementData`

    - ### Fields inherited from class java.util.AbstractList

      `modCount`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SSDPSearchSocketList()`
    `SSDPSearchSocketList(InetAddress[] binds)`
    `SSDPSearchSocketList(InetAddress[] binds, int port, String multicastIPv4, String multicastIPv6)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addSearchListener(SearchListener listener)`
    `void` | `close()`
    `SSDPSearchSocket` | `getSSDPSearchSocket(int n)`
    `boolean` | `open()`
    `void` | `start()`
    `void` | `stop()`

    - ### Methods inherited from class java.util.Vector

      `add, add, addAll, addAll, addElement, capacity, clear, clone, contains, containsAll, copyInto, elementAt, elements, ensureCapacity, equals, firstElement, forEach, get, hashCode, indexOf, indexOf, insertElementAt, isEmpty, iterator, lastElement, lastIndexOf, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeAllElements, removeElement, removeElementAt, removeIf, removeRange, replaceAll, retainAll, set, setElementAt, setSize, size, sort, spliterator, subList, toArray, toArray, toString, trimToSize`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface java.util.Collection

      `parallelStream, stream`

- - ### Constructor Detail

    - #### SSDPSearchSocketList

          public SSDPSearchSocketList()

    - #### SSDPSearchSocketList

          public SSDPSearchSocketList(InetAddress[] binds)

      Parameters:
        `binds` - The IP address that we will used for bindind the service

    - #### SSDPSearchSocketList

          public SSDPSearchSocketList(InetAddress[] binds,
                                      int port,
                                      String multicastIPv4,
                                      String multicastIPv6)

      Parameters:
        `binds` - The IP address that we will used for bindind the service
        `port` - The port that we will used for bindind the service
        `multicastIPv4` - The IPv4 address that we will used for multicast comunication
        `multicastIPv6` - The IPv6 address that we will used for multicast comunication

  - ### Method Detail

    - #### addSearchListener

          public void addSearchListener(SearchListener listener)

    - #### close

          public void close()

    - #### getSSDPSearchSocket

          public SSDPSearchSocket getSSDPSearchSocket(int n)

    - #### open

          public boolean open()

    - #### start

          public void start()

    - #### stop

          public void stop()