diff --git a/core/src/main/java/hudson/UDPBroadcastFragment.java b/core/src/main/java/hudson/UDPBroadcastFragment.java new file mode 100644 index 0000000000..2161f10201 --- /dev/null +++ b/core/src/main/java/hudson/UDPBroadcastFragment.java @@ -0,0 +1,35 @@ +package hudson; + +import hudson.model.Hudson; + +import java.net.SocketAddress; + +/** + * Extension point that contributes an XML fragment to the UDP broadcast. + * + *
+ * Put {@link Extension} on your implementation class to have it auto-discovered.
+ *
+ * @author Kohsuke Kawaguchi
+ * @since 1.304
+ */
+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