/******************************************************************************* * * Copyright (c) 2004-2009 Oracle Corporation. * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * * Kohsuke Kawaguchi * * *******************************************************************************/ package hudson; import hudson.model.Hudson; import java.net.SocketAddress; /** * Extension point that contributes an XML fragment to the UDP broadcast. * * <p> Put {@link Extension} on your implementation class to have it * auto-discovered. * * @author Kohsuke Kawaguchi * @since 1.304 * @see UDPBroadcastThread */ public abstract class UDPBroadcastFragment implements ExtensionPoint { /** * Called to build up a response XML. * * @param buf This is the buffer to write XML to. The implementation of this * method should write a complete fragment. Because of the packet length * restriction in UDP (somewhere around 1500 bytes), you cannot send a large * amount of information. * @param sender The socket address that sent the discovery packet out. */ public abstract void buildFragment(StringBuilder buf, SocketAddress sender); /** * Returns all the registered {@link UDPBroadcastFragment}s. */ public static ExtensionList<UDPBroadcastFragment> all() { return Hudson.getInstance().getExtensionList(UDPBroadcastFragment.class); } }