001/* 002 * The contents of this file are subject to the terms of the Common Development and 003 * Distribution License (the License). You may not use this file except in compliance with the 004 * License. 005 * 006 * You can obtain a copy of the License at legal/CDDLv1.0.txt. See the License for the 007 * specific language governing permission and limitations under the License. 008 * 009 * When distributing Covered Software, include this CDDL Header Notice in each file and include 010 * the License file at legal/CDDLv1.0.txt. If applicable, add the following below the CDDL 011 * Header, with the fields enclosed by brackets [] replaced by your own identifying 012 * information: "Portions Copyright [year] [name of copyright owner]". 013 * 014 * Copyright 2008 Sun Microsystems, Inc. 015 */ 016package org.forgerock.opendj.server.config.client; 017 018 019 020import java.net.InetAddress; 021import java.util.Collection; 022import java.util.SortedSet; 023import org.forgerock.opendj.config.ManagedObjectDefinition; 024import org.forgerock.opendj.config.PropertyException; 025import org.forgerock.opendj.ldap.DN; 026import org.forgerock.opendj.ldap.schema.AttributeType; 027import org.forgerock.opendj.server.config.meta.LDAPPassThroughAuthenticationPolicyCfgDefn.MappingPolicy; 028import org.forgerock.opendj.server.config.server.LDAPPassThroughAuthenticationPolicyCfg; 029 030 031 032/** 033 * A client-side interface for reading and modifying LDAP Pass Through 034 * Authentication Policy settings. 035 * <p> 036 * An authentication policy for users whose credentials are managed by 037 * a remote LDAP directory service. 038 */ 039public interface LDAPPassThroughAuthenticationPolicyCfgClient extends AuthenticationPolicyCfgClient { 040 041 /** 042 * Get the configuration definition associated with this LDAP Pass Through Authentication Policy. 043 * 044 * @return Returns the configuration definition associated with this LDAP Pass Through Authentication Policy. 045 */ 046 ManagedObjectDefinition<? extends LDAPPassThroughAuthenticationPolicyCfgClient, ? extends LDAPPassThroughAuthenticationPolicyCfg> definition(); 047 048 049 050 /** 051 * Gets the "cached-password-storage-scheme" property. 052 * <p> 053 * Specifies the name of a password storage scheme which should be 054 * used for encoding cached passwords. 055 * <p> 056 * Changing the password storage scheme will cause all existing 057 * cached passwords to be discarded. 058 * 059 * @return Returns the value of the "cached-password-storage-scheme" property. 060 */ 061 String getCachedPasswordStorageScheme(); 062 063 064 065 /** 066 * Sets the "cached-password-storage-scheme" property. 067 * <p> 068 * Specifies the name of a password storage scheme which should be 069 * used for encoding cached passwords. 070 * <p> 071 * Changing the password storage scheme will cause all existing 072 * cached passwords to be discarded. 073 * 074 * @param value The value of the "cached-password-storage-scheme" property. 075 * @throws PropertyException 076 * If the new value is invalid. 077 */ 078 void setCachedPasswordStorageScheme(String value) throws PropertyException; 079 080 081 082 /** 083 * Gets the "cached-password-ttl" property. 084 * <p> 085 * Specifies the maximum length of time that a locally cached 086 * password may be used for authentication before it is refreshed 087 * from the remote LDAP service. 088 * <p> 089 * This property represents a cache timeout. Increasing the timeout 090 * period decreases the frequency that bind operations are delegated 091 * to the remote LDAP service, but increases the risk of users 092 * authenticating using stale passwords. Note that authentication 093 * attempts which fail because the provided password does not match 094 * the locally cached password will always be retried against the 095 * remote LDAP service. 096 * 097 * @return Returns the value of the "cached-password-ttl" property. 098 */ 099 long getCachedPasswordTTL(); 100 101 102 103 /** 104 * Sets the "cached-password-ttl" property. 105 * <p> 106 * Specifies the maximum length of time that a locally cached 107 * password may be used for authentication before it is refreshed 108 * from the remote LDAP service. 109 * <p> 110 * This property represents a cache timeout. Increasing the timeout 111 * period decreases the frequency that bind operations are delegated 112 * to the remote LDAP service, but increases the risk of users 113 * authenticating using stale passwords. Note that authentication 114 * attempts which fail because the provided password does not match 115 * the locally cached password will always be retried against the 116 * remote LDAP service. 117 * 118 * @param value The value of the "cached-password-ttl" property. 119 * @throws PropertyException 120 * If the new value is invalid. 121 */ 122 void setCachedPasswordTTL(Long value) throws PropertyException; 123 124 125 126 /** 127 * Gets the "connection-timeout" property. 128 * <p> 129 * Specifies the timeout used when connecting to remote LDAP 130 * directory servers, performing SSL negotiation, and for individual 131 * search and bind requests. 132 * <p> 133 * If the timeout expires then the current operation will be aborted 134 * and retried against another LDAP server if one is available. 135 * 136 * @return Returns the value of the "connection-timeout" property. 137 */ 138 long getConnectionTimeout(); 139 140 141 142 /** 143 * Sets the "connection-timeout" property. 144 * <p> 145 * Specifies the timeout used when connecting to remote LDAP 146 * directory servers, performing SSL negotiation, and for individual 147 * search and bind requests. 148 * <p> 149 * If the timeout expires then the current operation will be aborted 150 * and retried against another LDAP server if one is available. 151 * 152 * @param value The value of the "connection-timeout" property. 153 * @throws PropertyException 154 * If the new value is invalid. 155 */ 156 void setConnectionTimeout(Long value) throws PropertyException; 157 158 159 160 /** 161 * Gets the "java-class" property. 162 * <p> 163 * Specifies the fully-qualified name of the Java class which 164 * provides the LDAP Pass Through Authentication Policy 165 * implementation. 166 * 167 * @return Returns the value of the "java-class" property. 168 */ 169 String getJavaClass(); 170 171 172 173 /** 174 * Sets the "java-class" property. 175 * <p> 176 * Specifies the fully-qualified name of the Java class which 177 * provides the LDAP Pass Through Authentication Policy 178 * implementation. 179 * 180 * @param value The value of the "java-class" property. 181 * @throws PropertyException 182 * If the new value is invalid. 183 */ 184 void setJavaClass(String value) throws PropertyException; 185 186 187 188 /** 189 * Gets the "mapped-attribute" property. 190 * <p> 191 * Specifies one or more attributes in the user's entry whose 192 * value(s) will determine the bind DN used when authenticating to 193 * the remote LDAP directory service. This property is mandatory when 194 * using the "mapped-bind" or "mapped-search" mapping policies. 195 * <p> 196 * At least one value must be provided. All values must refer to the 197 * name or OID of an attribute type defined in the directory server 198 * schema. At least one of the named attributes must exist in a 199 * user's local entry in order for authentication to proceed. When 200 * multiple attributes or values are found in the user's entry then 201 * the behavior is determined by the mapping policy. 202 * 203 * @return Returns the values of the "mapped-attribute" property. 204 */ 205 SortedSet<AttributeType> getMappedAttribute(); 206 207 208 209 /** 210 * Sets the "mapped-attribute" property. 211 * <p> 212 * Specifies one or more attributes in the user's entry whose 213 * value(s) will determine the bind DN used when authenticating to 214 * the remote LDAP directory service. This property is mandatory when 215 * using the "mapped-bind" or "mapped-search" mapping policies. 216 * <p> 217 * At least one value must be provided. All values must refer to the 218 * name or OID of an attribute type defined in the directory server 219 * schema. At least one of the named attributes must exist in a 220 * user's local entry in order for authentication to proceed. When 221 * multiple attributes or values are found in the user's entry then 222 * the behavior is determined by the mapping policy. 223 * 224 * @param values The values of the "mapped-attribute" property. 225 * @throws PropertyException 226 * If one or more of the new values are invalid. 227 */ 228 void setMappedAttribute(Collection<AttributeType> values) throws PropertyException; 229 230 231 232 /** 233 * Gets the "mapped-search-base-dn" property. 234 * <p> 235 * Specifies the set of base DNs below which to search for users in 236 * the remote LDAP directory service. This property is mandatory when 237 * using the "mapped-search" mapping policy. 238 * <p> 239 * If multiple values are given, searches are performed below all 240 * specified base DNs. 241 * 242 * @return Returns the values of the "mapped-search-base-dn" property. 243 */ 244 SortedSet<DN> getMappedSearchBaseDN(); 245 246 247 248 /** 249 * Sets the "mapped-search-base-dn" property. 250 * <p> 251 * Specifies the set of base DNs below which to search for users in 252 * the remote LDAP directory service. This property is mandatory when 253 * using the "mapped-search" mapping policy. 254 * <p> 255 * If multiple values are given, searches are performed below all 256 * specified base DNs. 257 * 258 * @param values The values of the "mapped-search-base-dn" property. 259 * @throws PropertyException 260 * If one or more of the new values are invalid. 261 */ 262 void setMappedSearchBaseDN(Collection<DN> values) throws PropertyException; 263 264 265 266 /** 267 * Gets the "mapped-search-bind-dn" property. 268 * <p> 269 * Specifies the bind DN which should be used to perform user 270 * searches in the remote LDAP directory service. 271 * 272 * @return Returns the value of the "mapped-search-bind-dn" property. 273 */ 274 DN getMappedSearchBindDN(); 275 276 277 278 /** 279 * Sets the "mapped-search-bind-dn" property. 280 * <p> 281 * Specifies the bind DN which should be used to perform user 282 * searches in the remote LDAP directory service. 283 * 284 * @param value The value of the "mapped-search-bind-dn" property. 285 * @throws PropertyException 286 * If the new value is invalid. 287 */ 288 void setMappedSearchBindDN(DN value) throws PropertyException; 289 290 291 292 /** 293 * Gets the "mapped-search-bind-password" property. 294 * <p> 295 * Specifies the bind password which should be used to perform user 296 * searches in the remote LDAP directory service. 297 * 298 * @return Returns the value of the "mapped-search-bind-password" property. 299 */ 300 String getMappedSearchBindPassword(); 301 302 303 304 /** 305 * Sets the "mapped-search-bind-password" property. 306 * <p> 307 * Specifies the bind password which should be used to perform user 308 * searches in the remote LDAP directory service. 309 * 310 * @param value The value of the "mapped-search-bind-password" property. 311 * @throws PropertyException 312 * If the new value is invalid. 313 */ 314 void setMappedSearchBindPassword(String value) throws PropertyException; 315 316 317 318 /** 319 * Gets the "mapped-search-bind-password-environment-variable" property. 320 * <p> 321 * Specifies the name of an environment variable containing the bind 322 * password which should be used to perform user searches in the 323 * remote LDAP directory service. 324 * 325 * @return Returns the value of the "mapped-search-bind-password-environment-variable" property. 326 */ 327 String getMappedSearchBindPasswordEnvironmentVariable(); 328 329 330 331 /** 332 * Sets the "mapped-search-bind-password-environment-variable" property. 333 * <p> 334 * Specifies the name of an environment variable containing the bind 335 * password which should be used to perform user searches in the 336 * remote LDAP directory service. 337 * 338 * @param value The value of the "mapped-search-bind-password-environment-variable" property. 339 * @throws PropertyException 340 * If the new value is invalid. 341 */ 342 void setMappedSearchBindPasswordEnvironmentVariable(String value) throws PropertyException; 343 344 345 346 /** 347 * Gets the "mapped-search-bind-password-file" property. 348 * <p> 349 * Specifies the name of a file containing the bind password which 350 * should be used to perform user searches in the remote LDAP 351 * directory service. 352 * 353 * @return Returns the value of the "mapped-search-bind-password-file" property. 354 */ 355 String getMappedSearchBindPasswordFile(); 356 357 358 359 /** 360 * Sets the "mapped-search-bind-password-file" property. 361 * <p> 362 * Specifies the name of a file containing the bind password which 363 * should be used to perform user searches in the remote LDAP 364 * directory service. 365 * 366 * @param value The value of the "mapped-search-bind-password-file" property. 367 * @throws PropertyException 368 * If the new value is invalid. 369 */ 370 void setMappedSearchBindPasswordFile(String value) throws PropertyException; 371 372 373 374 /** 375 * Gets the "mapped-search-bind-password-property" property. 376 * <p> 377 * Specifies the name of a Java property containing the bind 378 * password which should be used to perform user searches in the 379 * remote LDAP directory service. 380 * 381 * @return Returns the value of the "mapped-search-bind-password-property" property. 382 */ 383 String getMappedSearchBindPasswordProperty(); 384 385 386 387 /** 388 * Sets the "mapped-search-bind-password-property" property. 389 * <p> 390 * Specifies the name of a Java property containing the bind 391 * password which should be used to perform user searches in the 392 * remote LDAP directory service. 393 * 394 * @param value The value of the "mapped-search-bind-password-property" property. 395 * @throws PropertyException 396 * If the new value is invalid. 397 */ 398 void setMappedSearchBindPasswordProperty(String value) throws PropertyException; 399 400 401 402 /** 403 * Gets the "mapped-search-filter-template" property. 404 * <p> 405 * If defined, overrides the filter used when searching for the 406 * user, substituting %s with the value of the local entry's 407 * "mapped-attribute". 408 * <p> 409 * The filter-template may include ZERO or ONE %s substitutions. If 410 * multiple mapped-attributes are configured, multiple renditions of 411 * this template will be aggregated into one larger filter using an 412 * OR (|) operator. An example use-case for this property would be to 413 * use a different attribute type on the mapped search. For example, 414 * mapped-attribute could be set to "uid" and filter-template to 415 * "(samAccountName=%s)". 416 * 417 * @return Returns the value of the "mapped-search-filter-template" property. 418 */ 419 String getMappedSearchFilterTemplate(); 420 421 422 423 /** 424 * Sets the "mapped-search-filter-template" property. 425 * <p> 426 * If defined, overrides the filter used when searching for the 427 * user, substituting %s with the value of the local entry's 428 * "mapped-attribute". 429 * <p> 430 * The filter-template may include ZERO or ONE %s substitutions. If 431 * multiple mapped-attributes are configured, multiple renditions of 432 * this template will be aggregated into one larger filter using an 433 * OR (|) operator. An example use-case for this property would be to 434 * use a different attribute type on the mapped search. For example, 435 * mapped-attribute could be set to "uid" and filter-template to 436 * "(samAccountName=%s)". 437 * 438 * @param value The value of the "mapped-search-filter-template" property. 439 * @throws PropertyException 440 * If the new value is invalid. 441 */ 442 void setMappedSearchFilterTemplate(String value) throws PropertyException; 443 444 445 446 /** 447 * Gets the "mapping-policy" property. 448 * <p> 449 * Specifies the mapping algorithm for obtaining the bind DN from 450 * the user's entry. 451 * 452 * @return Returns the value of the "mapping-policy" property. 453 */ 454 MappingPolicy getMappingPolicy(); 455 456 457 458 /** 459 * Sets the "mapping-policy" property. 460 * <p> 461 * Specifies the mapping algorithm for obtaining the bind DN from 462 * the user's entry. 463 * 464 * @param value The value of the "mapping-policy" property. 465 * @throws PropertyException 466 * If the new value is invalid. 467 */ 468 void setMappingPolicy(MappingPolicy value) throws PropertyException; 469 470 471 472 /** 473 * Gets the "primary-remote-ldap-server" property. 474 * <p> 475 * Specifies the primary list of remote LDAP servers which should be 476 * used for pass through authentication. 477 * <p> 478 * If more than one LDAP server is specified then operations may be 479 * distributed across them. If all of the primary LDAP servers are 480 * unavailable then operations will fail-over to the set of secondary 481 * LDAP servers, if defined. 482 * 483 * @return Returns the values of the "primary-remote-ldap-server" property. 484 */ 485 SortedSet<String> getPrimaryRemoteLDAPServer(); 486 487 488 489 /** 490 * Sets the "primary-remote-ldap-server" property. 491 * <p> 492 * Specifies the primary list of remote LDAP servers which should be 493 * used for pass through authentication. 494 * <p> 495 * If more than one LDAP server is specified then operations may be 496 * distributed across them. If all of the primary LDAP servers are 497 * unavailable then operations will fail-over to the set of secondary 498 * LDAP servers, if defined. 499 * 500 * @param values The values of the "primary-remote-ldap-server" property. 501 * @throws PropertyException 502 * If one or more of the new values are invalid. 503 */ 504 void setPrimaryRemoteLDAPServer(Collection<String> values) throws PropertyException; 505 506 507 508 /** 509 * Gets the "secondary-remote-ldap-server" property. 510 * <p> 511 * Specifies the secondary list of remote LDAP servers which should 512 * be used for pass through authentication in the event that the 513 * primary LDAP servers are unavailable. 514 * <p> 515 * If more than one LDAP server is specified then operations may be 516 * distributed across them. Operations will be rerouted to the 517 * primary LDAP servers as soon as they are determined to be 518 * available. 519 * 520 * @return Returns the values of the "secondary-remote-ldap-server" property. 521 */ 522 SortedSet<String> getSecondaryRemoteLDAPServer(); 523 524 525 526 /** 527 * Sets the "secondary-remote-ldap-server" property. 528 * <p> 529 * Specifies the secondary list of remote LDAP servers which should 530 * be used for pass through authentication in the event that the 531 * primary LDAP servers are unavailable. 532 * <p> 533 * If more than one LDAP server is specified then operations may be 534 * distributed across them. Operations will be rerouted to the 535 * primary LDAP servers as soon as they are determined to be 536 * available. 537 * 538 * @param values The values of the "secondary-remote-ldap-server" property. 539 * @throws PropertyException 540 * If one or more of the new values are invalid. 541 */ 542 void setSecondaryRemoteLDAPServer(Collection<String> values) throws PropertyException; 543 544 545 546 /** 547 * Gets the "source-address" property. 548 * <p> 549 * If specified, the server will bind to the address before 550 * connecting to the remote server. 551 * <p> 552 * The address must be one assigned to an existing network 553 * interface. 554 * 555 * @return Returns the value of the "source-address" property. 556 */ 557 InetAddress getSourceAddress(); 558 559 560 561 /** 562 * Sets the "source-address" property. 563 * <p> 564 * If specified, the server will bind to the address before 565 * connecting to the remote server. 566 * <p> 567 * The address must be one assigned to an existing network 568 * interface. 569 * 570 * @param value The value of the "source-address" property. 571 * @throws PropertyException 572 * If the new value is invalid. 573 */ 574 void setSourceAddress(InetAddress value) throws PropertyException; 575 576 577 578 /** 579 * Gets the "ssl-cipher-suite" property. 580 * <p> 581 * Specifies the names of the SSL cipher suites that are allowed for 582 * use in SSL based LDAP connections. 583 * 584 * @return Returns the values of the "ssl-cipher-suite" property. 585 */ 586 SortedSet<String> getSSLCipherSuite(); 587 588 589 590 /** 591 * Sets the "ssl-cipher-suite" property. 592 * <p> 593 * Specifies the names of the SSL cipher suites that are allowed for 594 * use in SSL based LDAP connections. 595 * 596 * @param values The values of the "ssl-cipher-suite" property. 597 * @throws PropertyException 598 * If one or more of the new values are invalid. 599 */ 600 void setSSLCipherSuite(Collection<String> values) throws PropertyException; 601 602 603 604 /** 605 * Gets the "ssl-protocol" property. 606 * <p> 607 * Specifies the names of the SSL protocols which are allowed for 608 * use in SSL based LDAP connections. 609 * 610 * @return Returns the values of the "ssl-protocol" property. 611 */ 612 SortedSet<String> getSSLProtocol(); 613 614 615 616 /** 617 * Sets the "ssl-protocol" property. 618 * <p> 619 * Specifies the names of the SSL protocols which are allowed for 620 * use in SSL based LDAP connections. 621 * 622 * @param values The values of the "ssl-protocol" property. 623 * @throws PropertyException 624 * If one or more of the new values are invalid. 625 */ 626 void setSSLProtocol(Collection<String> values) throws PropertyException; 627 628 629 630 /** 631 * Gets the "trust-manager-provider" property. 632 * <p> 633 * Specifies the name of the trust manager that should be used when 634 * negotiating SSL connections with remote LDAP directory servers. 635 * 636 * @return Returns the value of the "trust-manager-provider" property. 637 */ 638 String getTrustManagerProvider(); 639 640 641 642 /** 643 * Sets the "trust-manager-provider" property. 644 * <p> 645 * Specifies the name of the trust manager that should be used when 646 * negotiating SSL connections with remote LDAP directory servers. 647 * 648 * @param value The value of the "trust-manager-provider" property. 649 * @throws PropertyException 650 * If the new value is invalid. 651 */ 652 void setTrustManagerProvider(String value) throws PropertyException; 653 654 655 656 /** 657 * Gets the "use-password-caching" property. 658 * <p> 659 * Indicates whether passwords should be cached locally within the 660 * user's entry. 661 * 662 * @return Returns the value of the "use-password-caching" property. 663 */ 664 boolean isUsePasswordCaching(); 665 666 667 668 /** 669 * Sets the "use-password-caching" property. 670 * <p> 671 * Indicates whether passwords should be cached locally within the 672 * user's entry. 673 * 674 * @param value The value of the "use-password-caching" property. 675 * @throws PropertyException 676 * If the new value is invalid. 677 */ 678 void setUsePasswordCaching(boolean value) throws PropertyException; 679 680 681 682 /** 683 * Gets the "use-ssl" property. 684 * <p> 685 * Indicates whether the LDAP Pass Through Authentication Policy 686 * should use SSL. 687 * <p> 688 * If enabled, the LDAP Pass Through Authentication Policy will use 689 * SSL to encrypt communication with the clients. 690 * 691 * @return Returns the value of the "use-ssl" property. 692 */ 693 boolean isUseSSL(); 694 695 696 697 /** 698 * Sets the "use-ssl" property. 699 * <p> 700 * Indicates whether the LDAP Pass Through Authentication Policy 701 * should use SSL. 702 * <p> 703 * If enabled, the LDAP Pass Through Authentication Policy will use 704 * SSL to encrypt communication with the clients. 705 * 706 * @param value The value of the "use-ssl" property. 707 * @throws PropertyException 708 * If the new value is invalid. 709 */ 710 void setUseSSL(Boolean value) throws PropertyException; 711 712 713 714 /** 715 * Gets the "use-tcp-keep-alive" property. 716 * <p> 717 * Indicates whether LDAP connections should use TCP keep-alive. 718 * <p> 719 * If enabled, the SO_KEEPALIVE socket option is used to indicate 720 * that TCP keepalive messages should periodically be sent to the 721 * client to verify that the associated connection is still valid. 722 * This may also help prevent cases in which intermediate network 723 * hardware could silently drop an otherwise idle client connection, 724 * provided that the keepalive interval configured in the underlying 725 * operating system is smaller than the timeout enforced by the 726 * network hardware. 727 * 728 * @return Returns the value of the "use-tcp-keep-alive" property. 729 */ 730 boolean isUseTCPKeepAlive(); 731 732 733 734 /** 735 * Sets the "use-tcp-keep-alive" property. 736 * <p> 737 * Indicates whether LDAP connections should use TCP keep-alive. 738 * <p> 739 * If enabled, the SO_KEEPALIVE socket option is used to indicate 740 * that TCP keepalive messages should periodically be sent to the 741 * client to verify that the associated connection is still valid. 742 * This may also help prevent cases in which intermediate network 743 * hardware could silently drop an otherwise idle client connection, 744 * provided that the keepalive interval configured in the underlying 745 * operating system is smaller than the timeout enforced by the 746 * network hardware. 747 * 748 * @param value The value of the "use-tcp-keep-alive" property. 749 * @throws PropertyException 750 * If the new value is invalid. 751 */ 752 void setUseTCPKeepAlive(Boolean value) throws PropertyException; 753 754 755 756 /** 757 * Gets the "use-tcp-no-delay" property. 758 * <p> 759 * Indicates whether LDAP connections should use TCP no-delay. 760 * <p> 761 * If enabled, the TCP_NODELAY socket option is used to ensure that 762 * response messages to the client are sent immediately rather than 763 * potentially waiting to determine whether additional response 764 * messages can be sent in the same packet. In most cases, using the 765 * TCP_NODELAY socket option provides better performance and lower 766 * response times, but disabling it may help for some cases in which 767 * the server sends a large number of entries to a client in response 768 * to a search request. 769 * 770 * @return Returns the value of the "use-tcp-no-delay" property. 771 */ 772 boolean isUseTCPNoDelay(); 773 774 775 776 /** 777 * Sets the "use-tcp-no-delay" property. 778 * <p> 779 * Indicates whether LDAP connections should use TCP no-delay. 780 * <p> 781 * If enabled, the TCP_NODELAY socket option is used to ensure that 782 * response messages to the client are sent immediately rather than 783 * potentially waiting to determine whether additional response 784 * messages can be sent in the same packet. In most cases, using the 785 * TCP_NODELAY socket option provides better performance and lower 786 * response times, but disabling it may help for some cases in which 787 * the server sends a large number of entries to a client in response 788 * to a search request. 789 * 790 * @param value The value of the "use-tcp-no-delay" property. 791 * @throws PropertyException 792 * If the new value is invalid. 793 */ 794 void setUseTCPNoDelay(Boolean value) throws PropertyException; 795 796}