| //- |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| include /app/helpers/jade/mixins |
| |
| mixin discovery-multicast(modelAt = '$ctrl.clonedCluster') |
| -const model = `${modelAt}.discovery.Multicast` |
| -const addresses = `${model}.addresses` |
| |
| .pc-form-grid-row&attributes(attributes=attributes) |
| .pc-form-grid-col-30 |
| +form-field__ip-address({ |
| label: 'IP address:', |
| model: `${model}.multicastGroup`, |
| name: '"multicastGroup"', |
| enabled: 'true', |
| placeholder: '228.1.2.4', |
| tip: 'IP address of multicast group' |
| }) |
| .pc-form-grid-col-30 |
| +form-field__number({ |
| label: 'Port number:', |
| model: `${model}.multicastPort`, |
| name: '"multicastPort"', |
| placeholder: '47400', |
| min: '0', |
| max: '65535', |
| tip: 'Port number which multicast messages are sent to' |
| }) |
| .pc-form-grid-col-20 |
| +form-field__number({ |
| label: 'Waits for reply:', |
| model: `${model}.responseWaitTime`, |
| name: '"responseWaitTime"', |
| placeholder: '500', |
| min: '0', |
| tip: 'Time in milliseconds IP finder waits for reply to multicast address request' |
| }) |
| .pc-form-grid-col-20 |
| +form-field__number({ |
| label: 'Attempts count:', |
| model: `${model}.addressRequestAttempts`, |
| name: '"addressRequestAttempts"', |
| placeholder: '2', |
| min: '0', |
| tip: 'Number of attempts to send multicast address request<br/>\ |
| IP finder re - sends request only in case if no reply for previous request is received' |
| }) |
| .pc-form-grid-col-20.pc-form-grid-col-free |
| +form-field__ip-address({ |
| label: 'Local address:', |
| model: `${model}.localAddress`, |
| name: '"localAddress"', |
| enabled: 'true', |
| placeholder: '0.0.0.0', |
| tip: 'Local host address used by this IP finder<br/>\ |
| If provided address is non - loopback then multicast socket is bound to this interface<br/>\ |
| If local address is not set or is any local address then IP finder creates multicast sockets for all found non - loopback addresses' |
| }) |
| .pc-form-grid-col-60 |
| .ignite-form-field |
| +list-addresses({ |
| items: addresses, |
| name: 'multicastAddresses', |
| tip: `Addresses may be represented as follows: |
| <ul> |
| <li>IP address (e.g. 127.0.0.1, 9.9.9.9, etc)</li> |
| <li>IP address and port (e.g. 127.0.0.1:47500, 9.9.9.9:47501, etc)</li> |
| <li>IP address and port range (e.g. 127.0.0.1:47500..47510, 9.9.9.9:47501..47504, etc)</li> |
| <li>Hostname (e.g. host1.com, host2, etc)</li> |
| <li>Hostname and port (e.g. host1.com:47500, host2:47502, etc)</li> |
| <li>Hostname and port range (e.g. host1.com:47500..47510, host2:47502..47508, etc)</li> |
| </ul> |
| If port is 0 or not provided then default port will be used (depends on discovery SPI configuration)<br /> |
| If port range is provided (e.g. host:port1..port2) the following should be considered: |
| </ul> |
| <ul> |
| <li> port1 < port2 should be true</li> |
| <li> Both port1 and port2 should be greater than 0</li> |
| </ul>` |
| }) |