Class JnlpSlaveAgentProtocol4

java.lang.Object
jenkins.AgentProtocol
jenkins.slaves.JnlpSlaveAgentProtocol4
All Implemented Interfaces:
ExtensionPoint

@Extension @Symbol("jnlp4") public class JnlpSlaveAgentProtocol4 extends AgentProtocol
Master-side implementation for JNLP4-connect protocol.

@see JnlpProtocol4Handler for more details.

Since:
2.27 available as experimental protocol, 2.41 enabled by default
  • Constructor Details

    • JnlpSlaveAgentProtocol4

      public JnlpSlaveAgentProtocol4()
  • Method Details

    • isOptIn

      public boolean isOptIn()
      Description copied from class: AgentProtocol
      Allow experimental AgentProtocol implementations to declare being opt-in. Note that Jenkins.setAgentProtocols(Set) only records the protocols where the admin has made a conscious decision thus:
      • if a protocol is opt-in, it records the admin enabling it
      • if a protocol is opt-out, it records the admin disabling it
      Implementations should not transition rapidly from opt-in -> opt-out -> opt-in. Implementations should never flip-flop: opt-in -> opt-out -> opt-in -> opt-out as that will basically clear any preference that an admin has set. This latter restriction should be ok as we only ever will be adding new protocols and retiring old ones.
      Overrides:
      isOptIn in class AgentProtocol
      Returns:
      true if the protocol requires explicit opt-in.
      See Also:
    • getDisplayName

      public String getDisplayName()
      Description copied from class: AgentProtocol
      Returns the human readable protocol display name.
      Overrides:
      getDisplayName in class AgentProtocol
      Returns:
      the human readable protocol display name.
    • getName

      public String getName()
      Description copied from class: AgentProtocol
      Protocol name. This is a short string that consists of printable ASCII chars. Sent by the client to select the protocol.
      Specified by:
      getName in class AgentProtocol
      Returns:
      null to be disabled. This is useful for avoiding getting used until the protocol is properly configured.
    • handle

      public void handle(Socket socket) throws IOException, InterruptedException
      Description copied from class: AgentProtocol
      Called by the connection handling thread to execute the protocol.
      Specified by:
      handle in class AgentProtocol
      Throws:
      IOException
      InterruptedException