Joins the specified multicast group at the specified interface using the specified source.
336714
public ChannelFuture joinGroup(
            InetAddress multicastAddress, NetworkInterface networkInterface, InetAddress source) {
        if (DetectionUtil.javaVersion() < 7) {
            throw new UnsupportedOperationException();
        }

        if (multicastAddress == null) {
            throw new NullPointerException("multicastAddress");
        }

        if (networkInterface == null) {
            throw new NullPointerException("networkInterface");
        }

        try {
            MembershipKey key;
            if (source == null) {
                key = channel.join(multicastAddress, networkInterface);
            } else {
                key = channel.join(multicastAddress, networkInterface, source);
            }

            synchronized (this) {
                if (memberships == null) {
                    memberships = new HashMap<InetAddress, List<MembershipKey>>();
                }
                List<MembershipKey> keys = memberships.get(multicastAddress);
                if (keys == null) {
                    keys = new ArrayList<MembershipKey>();
                    memberships.put(multicastAddress, keys);
                }
                keys.add(key);
            }
        } catch (Throwable e) {
            return failedFuture(this, e);
        }
        return succeededFuture(this);
    }
1126609
protected void synchronizeGroupMembersOnUpdate(IEntityGroup group) throws GroupsException {
        EntityGroupImpl egi = (EntityGroupImpl) group;
        GroupMemberImpl gmi = null;

        for (Iterator it = egi.getAddedMembers().values().iterator(); it.hasNext(); ) {
            gmi = (GroupMemberImpl) it.next();
            gmi.invalidateInParentGroupsCache(Collections.singleton((IGroupMember) gmi));
            if (cacheInUse()) {
                cacheUpdate(gmi);
            }
        }

        for (Iterator it = egi.getRemovedMembers().values().iterator(); it.hasNext(); ) {
            gmi = (GroupMemberImpl) it.next();
            gmi.invalidateInParentGroupsCache(Collections.singleton((IGroupMember) gmi));
            if (cacheInUse()) {
                cacheUpdate(gmi);
            }
        }
    }
188446
public MulticastConfig setGroup(String group) {
    try {
      InetAddress address = InetAddress.getByName(group);
      if (!address.isMulticastAddress()) {
        throw new ConfigurationException("Invalid multicast group " + group);
      }
      return setGroup(address);
    } catch (UnknownHostException e) {
      throw new ConfigurationException("Failed to locate multicast group", e);
    }
  }
725488
public synchronized void     add(QueueGroups group, Activity activity, long delay, TimeUnit unit)
    {
        ActivityHolder  holder = new ActivityHolder(activity, TimeUnit.MILLISECONDS.convert(delay, unit));
        queues.get(group).offer(holder);
    }
91200
protected Operation joinEqWithSourceAndAsOfCheck(Attribute other)
    {
        Mapper mapper = null;
        if (this.getSourceAttributeType() != null && !(other instanceof MappedAttribute) && this.getSourceAttributeType().equals(other.getSourceAttributeType()))
        {
            MultiEqualityMapper mem = new MultiEqualityMapper(this, other);
            mem.addAutoGeneratedAttributeMap(this.getSourceAttribute(), other.getSourceAttribute());
            mapper = mem;
        }
        mapper = constructEqualityMapperWithAsOfCheck(other, mapper);
        if (mapper == null)
        {
            mapper = this.constructEqualityMapper(other);
        }
        mapper.setAnonymous(true);
        Attribute target = other;
        if (other instanceof MappedAttribute)
        {
            target = ((MappedAttribute)other).getWrappedAttribute();
        }
        return new MappedOperation(mapper, new All(target));
    }
1187476
public <T2> JoinedStreams<T, T2> join(DataStream<T2> otherStream) {
		return new JoinedStreams<>(this, otherStream);
	}
177679
def join(self, timeout=None):
        
        self._server.join(timeout)
        if self._handler_thread:
            self._handler_thread.join(timeout)
761415
private void addSubscriptionsToBus(BusGroup group, String busId) 
  throws SIResourceException
  {
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.entry(tc, "addSubscriptionsToBus", new Object[]{group, busId});
    
    // Get the complete list of Subscriptions from the MatchSpace 
    // and assign to the BusGroup.
    final ArrayList cdList =
      _proxyHandler
        .getMessageProcessor()
        .getMessageProcessorMatching()
        .getAllCDMatchTargets();

    // Iterate through the list of available "subscriptions".   
    final Iterator cdIterator = cdList.listIterator();
    while (cdIterator.hasNext())
    {
      // Get the Consumer Dispatcher for this element.
      final ConsumerDispatcher cd = (ConsumerDispatcher) cdIterator.next();

      // This won't actually send the subscriptions to the Neighbour
      // but generates the list of topics that are to be propagated.
      group.addLocalSubscription(cd.getConsumerDispatcherState(), null, null, false);

    }

    // Add proxy subscriptions that have been registered by
    // Neighbouring ME's.
    final ArrayList phList = 
      _proxyHandler
        .getMessageProcessor()
        .getMessageProcessorMatching()
        .getAllPubSubOutputHandlerMatchTargets();
        
    final ArrayList outputSeenList = new ArrayList();
    
    final Iterator phIterator = phList.listIterator();
    while (phIterator.hasNext())
    {
      // Get the PubSub OutputHandler for this element.
      final PubSubOutputHandler oh = (PubSubOutputHandler) phIterator.next();
      
      if (!outputSeenList.contains(oh) &&
           oh.neighbourOnDifferentBus(busId))
      {
        // This won't actually send the subscriptions to the Neighbour
        // but generates the list of topics that are to be propagated.
        final String topics[] = oh.getTopics();
        final SIBUuid12 topicSpaceUuid = oh.getTopicSpaceUuid();
        
        if (topics != null && topics.length > 0)
        {
          for (int i=0; i<topics.length; i++)        
          {
            group.addRemoteSubscription(topicSpaceUuid, topics[i], null, false);             
          }
        }
        
        // Add the neighbour to the list of seen Neighbours.
        outputSeenList.add(oh);
      }      
    }
    if (TraceComponent.isAnyTracingEnabled() && tc.isEntryEnabled()) SibTr.exit(tc, "addSubscriptionsToBus");
  }
1126377
public ChannelFuture block(InetAddress multicastAddress,
                               NetworkInterface networkInterface, InetAddress sourceToBlock) {
        if (DetectionUtil.javaVersion() < 7) {
            throw new UnsupportedOperationException();
        } else {
            if (multicastAddress == null) {
                throw new NullPointerException("multicastAddress");
            }
            if (sourceToBlock == null) {
                throw new NullPointerException("sourceToBlock");
            }

            if (networkInterface == null) {
                throw new NullPointerException("networkInterface");
            }
            synchronized (this) {
                if (memberships != null) {
                    List<MembershipKey> keys = memberships.get(multicastAddress);
                    for (MembershipKey key: keys) {
                        if (networkInterface.equals(key.networkInterface())) {
                            try {
                                key.block(sourceToBlock);
                            } catch (IOException e) {
                                return failedFuture(this, e);
                            }
                        }
                    }
                }
            }
            return succeededFuture(this);
        }
    }
253277
public static ns_cluster join(nitro_service client, ns_cluster resource) throws Exception
	{
		return ((ns_cluster[]) resource.perform_operation(client, "join"))[0];
	}
342951
def add_members(self, group_jid, peer_jids: Union[str, List[str]]):
        
        log.info("[+] Adding some members to the group {}".format(group_jid))
        return self._send_xmpp_element(group_adminship.AddMembersRequest(group_jid, peer_jids))
798063
public synchronized void     add(QueueGroups group, Activity activity)
    {
        add(group, activity, 0, TimeUnit.MILLISECONDS);
    }
129485
public static LinkedBindingBuilder<HttpClientObserver> bindNewObserver(final Binder binder, final HttpClientObserverGroup observerGroup)
    {
        return MapBinder.newMapBinder(binder, HttpClientObserverGroup.class, HttpClientObserver.class, Names.named(OBSERVER_GROUP)).permitDuplicates().addBinding(observerGroup);
    }
41884
def rejoin(self, group_id):
        
        url = utils.urljoin(self.url, 'join')
        payload = {'group_id': group_id}
        response = self.session.post(url, json=payload)
        return Group(self, **response.data)
466483
protected String join(Collection<?> list, String delimiter) {
        return Joiner.on(delimiter).join(list);
    }
543740
public static <T> Source<T> join(final Iterator<Source<T>> iterator) {
        return new AbstractSource<T>() {
            private Source<T> current = popSource();

            @Override
            public T computeNext() throws IOException {
                while (current != null) {
                    if (current.hasNext()) {
                        return current.next();
                    } else {
                        current.close();
                        current = popSource();
                    }
                }
                return endOfData();
            }

            @Override
            public void close() {
                while (current != null) {
                    current.close();
                    current = popSource();
                }
            }

            private Source<T> popSource() {
                if (iterator.hasNext()) {
                    return iterator.next();
                } else {
                    return null;
                }
            }
        };
    }
890744
public void join(SelectableChannel ch1, SelectableChannel ch2) throws IOException
    {
        join(ch1, ch2, (ByteChannel)ch1, (ByteChannel)ch2);
    }