001/* 002 * CDDL HEADER START 003 * 004 * The contents of this file are subject to the terms of the 005 * Common Development and Distribution License, Version 1.0 only 006 * (the "License"). You may not use this file except in compliance 007 * with the License. 008 * 009 * You can obtain a copy of the license at legal-notices/CDDLv1_0.txt 010 * or http://forgerock.org/license/CDDLv1.0.html. 011 * See the License for the specific language governing permissions 012 * and limitations under the License. 013 * 014 * When distributing Covered Code, include this CDDL HEADER in each 015 * file and include the License file at legal-notices/CDDLv1_0.txt. 016 * If applicable, add the following below this CDDL HEADER, with the 017 * fields enclosed by brackets "[]" replaced with your own identifying 018 * information: 019 * Portions Copyright [yyyy] [name of copyright owner] 020 * 021 * CDDL HEADER END 022 * 023 * 024 * Copyright 2008 Sun Microsystems, Inc. 025 */ 026package org.opends.server.admin.std.client; 027 028 029 030import java.net.InetAddress; 031import java.util.Collection; 032import java.util.SortedSet; 033import org.opends.server.admin.ManagedObjectDefinition; 034import org.opends.server.admin.PropertyException; 035import org.opends.server.admin.std.meta.LDAPConnectionHandlerCfgDefn.SSLClientAuthPolicy; 036import org.opends.server.admin.std.server.LDAPConnectionHandlerCfg; 037 038 039 040/** 041 * A client-side interface for reading and modifying LDAP Connection 042 * Handler settings. 043 * <p> 044 * The LDAP Connection Handler is used to interact with clients using 045 * LDAP. 046 */ 047public interface LDAPConnectionHandlerCfgClient extends ConnectionHandlerCfgClient { 048 049 /** 050 * Get the configuration definition associated with this LDAP Connection Handler. 051 * 052 * @return Returns the configuration definition associated with this LDAP Connection Handler. 053 */ 054 ManagedObjectDefinition<? extends LDAPConnectionHandlerCfgClient, ? extends LDAPConnectionHandlerCfg> definition(); 055 056 057 058 /** 059 * Gets the "accept-backlog" property. 060 * <p> 061 * Specifies the maximum number of pending connection attempts that 062 * are allowed to queue up in the accept backlog before the server 063 * starts rejecting new connection attempts. 064 * <p> 065 * This is primarily an issue for cases in which a large number of 066 * connections are established to the server in a very short period 067 * of time (for example, a benchmark utility that creates a large 068 * number of client threads that each have their own connection to 069 * the server) and the connection handler is unable to keep up with 070 * the rate at which the new connections are established. 071 * 072 * @return Returns the value of the "accept-backlog" property. 073 */ 074 int getAcceptBacklog(); 075 076 077 078 /** 079 * Sets the "accept-backlog" property. 080 * <p> 081 * Specifies the maximum number of pending connection attempts that 082 * are allowed to queue up in the accept backlog before the server 083 * starts rejecting new connection attempts. 084 * <p> 085 * This is primarily an issue for cases in which a large number of 086 * connections are established to the server in a very short period 087 * of time (for example, a benchmark utility that creates a large 088 * number of client threads that each have their own connection to 089 * the server) and the connection handler is unable to keep up with 090 * the rate at which the new connections are established. 091 * 092 * @param value The value of the "accept-backlog" property. 093 * @throws PropertyException 094 * If the new value is invalid. 095 */ 096 void setAcceptBacklog(Integer value) throws PropertyException; 097 098 099 100 /** 101 * Gets the "allow-ldap-v2" property. 102 * <p> 103 * Indicates whether connections from LDAPv2 clients are allowed. 104 * <p> 105 * If LDAPv2 clients are allowed, then only a minimal degree of 106 * special support are provided for them to ensure that 107 * LDAPv3-specific protocol elements (for example, Configuration 108 * Guide 25 controls, extended response messages, intermediate 109 * response messages, referrals) are not sent to an LDAPv2 client. 110 * 111 * @return Returns the value of the "allow-ldap-v2" property. 112 */ 113 boolean isAllowLDAPV2(); 114 115 116 117 /** 118 * Sets the "allow-ldap-v2" property. 119 * <p> 120 * Indicates whether connections from LDAPv2 clients are allowed. 121 * <p> 122 * If LDAPv2 clients are allowed, then only a minimal degree of 123 * special support are provided for them to ensure that 124 * LDAPv3-specific protocol elements (for example, Configuration 125 * Guide 25 controls, extended response messages, intermediate 126 * response messages, referrals) are not sent to an LDAPv2 client. 127 * 128 * @param value The value of the "allow-ldap-v2" property. 129 * @throws PropertyException 130 * If the new value is invalid. 131 */ 132 void setAllowLDAPV2(Boolean value) throws PropertyException; 133 134 135 136 /** 137 * Gets the "allow-start-tls" property. 138 * <p> 139 * Indicates whether clients are allowed to use StartTLS. 140 * <p> 141 * If enabled, the LDAP Connection Handler allows clients to use the 142 * StartTLS extended operation to initiate secure communication over 143 * an otherwise insecure channel. Note that this is only allowed if 144 * the LDAP Connection Handler is not configured to use SSL, and if 145 * the server is configured with a valid key manager provider and a 146 * valid trust manager provider. 147 * 148 * @return Returns the value of the "allow-start-tls" property. 149 */ 150 boolean isAllowStartTLS(); 151 152 153 154 /** 155 * Sets the "allow-start-tls" property. 156 * <p> 157 * Indicates whether clients are allowed to use StartTLS. 158 * <p> 159 * If enabled, the LDAP Connection Handler allows clients to use the 160 * StartTLS extended operation to initiate secure communication over 161 * an otherwise insecure channel. Note that this is only allowed if 162 * the LDAP Connection Handler is not configured to use SSL, and if 163 * the server is configured with a valid key manager provider and a 164 * valid trust manager provider. 165 * 166 * @param value The value of the "allow-start-tls" property. 167 * @throws PropertyException 168 * If the new value is invalid. 169 */ 170 void setAllowStartTLS(Boolean value) throws PropertyException; 171 172 173 174 /** 175 * Gets the "allow-tcp-reuse-address" property. 176 * <p> 177 * Indicates whether the LDAP Connection Handler should reuse socket 178 * descriptors. 179 * <p> 180 * If enabled, the SO_REUSEADDR socket option is used on the server 181 * listen socket to potentially allow the reuse of socket descriptors 182 * for clients in a TIME_WAIT state. This may help the server avoid 183 * temporarily running out of socket descriptors in cases in which a 184 * very large number of short-lived connections have been established 185 * from the same client system. 186 * 187 * @return Returns the value of the "allow-tcp-reuse-address" property. 188 */ 189 boolean isAllowTCPReuseAddress(); 190 191 192 193 /** 194 * Sets the "allow-tcp-reuse-address" property. 195 * <p> 196 * Indicates whether the LDAP Connection Handler should reuse socket 197 * descriptors. 198 * <p> 199 * If enabled, the SO_REUSEADDR socket option is used on the server 200 * listen socket to potentially allow the reuse of socket descriptors 201 * for clients in a TIME_WAIT state. This may help the server avoid 202 * temporarily running out of socket descriptors in cases in which a 203 * very large number of short-lived connections have been established 204 * from the same client system. 205 * 206 * @param value The value of the "allow-tcp-reuse-address" property. 207 * @throws PropertyException 208 * If the new value is invalid. 209 */ 210 void setAllowTCPReuseAddress(Boolean value) throws PropertyException; 211 212 213 214 /** 215 * Gets the "buffer-size" property. 216 * <p> 217 * Specifies the size in bytes of the LDAP response message write 218 * buffer. 219 * <p> 220 * This property specifies write buffer size allocated by the server 221 * for each client connection and used to buffer LDAP response 222 * messages data when writing. 223 * 224 * @return Returns the value of the "buffer-size" property. 225 */ 226 long getBufferSize(); 227 228 229 230 /** 231 * Sets the "buffer-size" property. 232 * <p> 233 * Specifies the size in bytes of the LDAP response message write 234 * buffer. 235 * <p> 236 * This property specifies write buffer size allocated by the server 237 * for each client connection and used to buffer LDAP response 238 * messages data when writing. 239 * 240 * @param value The value of the "buffer-size" property. 241 * @throws PropertyException 242 * If the new value is invalid. 243 */ 244 void setBufferSize(Long value) throws PropertyException; 245 246 247 248 /** 249 * Gets the "java-class" property. 250 * <p> 251 * Specifies the fully-qualified name of the Java class that 252 * provides the LDAP Connection Handler implementation. 253 * 254 * @return Returns the value of the "java-class" property. 255 */ 256 String getJavaClass(); 257 258 259 260 /** 261 * Sets the "java-class" property. 262 * <p> 263 * Specifies the fully-qualified name of the Java class that 264 * provides the LDAP Connection Handler implementation. 265 * 266 * @param value The value of the "java-class" property. 267 * @throws PropertyException 268 * If the new value is invalid. 269 */ 270 void setJavaClass(String value) throws PropertyException; 271 272 273 274 /** 275 * Gets the "keep-stats" property. 276 * <p> 277 * Indicates whether the LDAP Connection Handler should keep 278 * statistics. 279 * <p> 280 * If enabled, the LDAP Connection Handler maintains statistics 281 * about the number and types of operations requested over LDAP and 282 * the amount of data sent and received. 283 * 284 * @return Returns the value of the "keep-stats" property. 285 */ 286 boolean isKeepStats(); 287 288 289 290 /** 291 * Sets the "keep-stats" property. 292 * <p> 293 * Indicates whether the LDAP Connection Handler should keep 294 * statistics. 295 * <p> 296 * If enabled, the LDAP Connection Handler maintains statistics 297 * about the number and types of operations requested over LDAP and 298 * the amount of data sent and received. 299 * 300 * @param value The value of the "keep-stats" property. 301 * @throws PropertyException 302 * If the new value is invalid. 303 */ 304 void setKeepStats(Boolean value) throws PropertyException; 305 306 307 308 /** 309 * Gets the "key-manager-provider" property. 310 * <p> 311 * Specifies the name of the key manager that should be used with 312 * this LDAP Connection Handler . 313 * 314 * @return Returns the value of the "key-manager-provider" property. 315 */ 316 String getKeyManagerProvider(); 317 318 319 320 /** 321 * Sets the "key-manager-provider" property. 322 * <p> 323 * Specifies the name of the key manager that should be used with 324 * this LDAP Connection Handler . 325 * 326 * @param value The value of the "key-manager-provider" property. 327 * @throws PropertyException 328 * If the new value is invalid. 329 */ 330 void setKeyManagerProvider(String value) throws PropertyException; 331 332 333 334 /** 335 * Gets the "listen-address" property. 336 * <p> 337 * Specifies the address or set of addresses on which this LDAP 338 * Connection Handler should listen for connections from LDAP 339 * clients. 340 * <p> 341 * Multiple addresses may be provided as separate values for this 342 * attribute. If no values are provided, then the LDAP Connection 343 * Handler listens on all interfaces. 344 * 345 * @return Returns the values of the "listen-address" property. 346 */ 347 SortedSet<InetAddress> getListenAddress(); 348 349 350 351 /** 352 * Sets the "listen-address" property. 353 * <p> 354 * Specifies the address or set of addresses on which this LDAP 355 * Connection Handler should listen for connections from LDAP 356 * clients. 357 * <p> 358 * Multiple addresses may be provided as separate values for this 359 * attribute. If no values are provided, then the LDAP Connection 360 * Handler listens on all interfaces. 361 * 362 * @param values The values of the "listen-address" property. 363 * @throws PropertyException 364 * If one or more of the new values are invalid. 365 */ 366 void setListenAddress(Collection<InetAddress> values) throws PropertyException; 367 368 369 370 /** 371 * Gets the "listen-port" property. 372 * <p> 373 * Specifies the port number on which the LDAP Connection Handler 374 * will listen for connections from clients. 375 * <p> 376 * Only a single port number may be provided. 377 * 378 * @return Returns the value of the "listen-port" property. 379 */ 380 Integer getListenPort(); 381 382 383 384 /** 385 * Sets the "listen-port" property. 386 * <p> 387 * Specifies the port number on which the LDAP Connection Handler 388 * will listen for connections from clients. 389 * <p> 390 * Only a single port number may be provided. 391 * 392 * @param value The value of the "listen-port" property. 393 * @throws PropertyException 394 * If the new value is invalid. 395 */ 396 void setListenPort(int value) throws PropertyException; 397 398 399 400 /** 401 * Gets the "max-blocked-write-time-limit" property. 402 * <p> 403 * Specifies the maximum length of time that attempts to write data 404 * to LDAP clients should be allowed to block. 405 * <p> 406 * If an attempt to write data to a client takes longer than this 407 * length of time, then the client connection is terminated. 408 * 409 * @return Returns the value of the "max-blocked-write-time-limit" property. 410 */ 411 long getMaxBlockedWriteTimeLimit(); 412 413 414 415 /** 416 * Sets the "max-blocked-write-time-limit" property. 417 * <p> 418 * Specifies the maximum length of time that attempts to write data 419 * to LDAP clients should be allowed to block. 420 * <p> 421 * If an attempt to write data to a client takes longer than this 422 * length of time, then the client connection is terminated. 423 * 424 * @param value The value of the "max-blocked-write-time-limit" property. 425 * @throws PropertyException 426 * If the new value is invalid. 427 */ 428 void setMaxBlockedWriteTimeLimit(Long value) throws PropertyException; 429 430 431 432 /** 433 * Gets the "max-request-size" property. 434 * <p> 435 * Specifies the size in bytes of the largest LDAP request message 436 * that will be allowed by this LDAP Connection handler. 437 * <p> 438 * This property is analogous to the maxBERSize configuration 439 * attribute of the Sun Java System Directory Server. This can help 440 * prevent denial-of-service attacks by clients that indicate they 441 * send extremely large requests to the server causing it to attempt 442 * to allocate large amounts of memory. 443 * 444 * @return Returns the value of the "max-request-size" property. 445 */ 446 long getMaxRequestSize(); 447 448 449 450 /** 451 * Sets the "max-request-size" property. 452 * <p> 453 * Specifies the size in bytes of the largest LDAP request message 454 * that will be allowed by this LDAP Connection handler. 455 * <p> 456 * This property is analogous to the maxBERSize configuration 457 * attribute of the Sun Java System Directory Server. This can help 458 * prevent denial-of-service attacks by clients that indicate they 459 * send extremely large requests to the server causing it to attempt 460 * to allocate large amounts of memory. 461 * 462 * @param value The value of the "max-request-size" property. 463 * @throws PropertyException 464 * If the new value is invalid. 465 */ 466 void setMaxRequestSize(Long value) throws PropertyException; 467 468 469 470 /** 471 * Gets the "num-request-handlers" property. 472 * <p> 473 * Specifies the number of request handlers that are used to read 474 * requests from clients. 475 * <p> 476 * The LDAP Connection Handler uses one thread to accept new 477 * connections from clients, but uses one or more additional threads 478 * to read requests from existing client connections. This ensures 479 * that new requests are read efficiently and that the connection 480 * handler itself does not become a bottleneck when the server is 481 * under heavy load from many clients at the same time. 482 * 483 * @return Returns the value of the "num-request-handlers" property. 484 */ 485 Integer getNumRequestHandlers(); 486 487 488 489 /** 490 * Sets the "num-request-handlers" property. 491 * <p> 492 * Specifies the number of request handlers that are used to read 493 * requests from clients. 494 * <p> 495 * The LDAP Connection Handler uses one thread to accept new 496 * connections from clients, but uses one or more additional threads 497 * to read requests from existing client connections. This ensures 498 * that new requests are read efficiently and that the connection 499 * handler itself does not become a bottleneck when the server is 500 * under heavy load from many clients at the same time. 501 * 502 * @param value The value of the "num-request-handlers" property. 503 * @throws PropertyException 504 * If the new value is invalid. 505 */ 506 void setNumRequestHandlers(Integer value) throws PropertyException; 507 508 509 510 /** 511 * Gets the "send-rejection-notice" property. 512 * <p> 513 * Indicates whether the LDAP Connection Handler should send a 514 * notice of disconnection extended response message to the client if 515 * a new connection is rejected for some reason. 516 * <p> 517 * The extended response message may provide an explanation 518 * indicating the reason that the connection was rejected. 519 * 520 * @return Returns the value of the "send-rejection-notice" property. 521 */ 522 boolean isSendRejectionNotice(); 523 524 525 526 /** 527 * Sets the "send-rejection-notice" property. 528 * <p> 529 * Indicates whether the LDAP Connection Handler should send a 530 * notice of disconnection extended response message to the client if 531 * a new connection is rejected for some reason. 532 * <p> 533 * The extended response message may provide an explanation 534 * indicating the reason that the connection was rejected. 535 * 536 * @param value The value of the "send-rejection-notice" property. 537 * @throws PropertyException 538 * If the new value is invalid. 539 */ 540 void setSendRejectionNotice(Boolean value) throws PropertyException; 541 542 543 544 /** 545 * Gets the "ssl-cert-nickname" property. 546 * <p> 547 * Specifies the nickname (also called the alias) of the certificate 548 * that the LDAP Connection Handler should use when performing SSL 549 * communication. 550 * <p> 551 * This is only applicable when the LDAP Connection Handler is 552 * configured to use SSL. 553 * 554 * @return Returns the value of the "ssl-cert-nickname" property. 555 */ 556 String getSSLCertNickname(); 557 558 559 560 /** 561 * Sets the "ssl-cert-nickname" property. 562 * <p> 563 * Specifies the nickname (also called the alias) of the certificate 564 * that the LDAP Connection Handler should use when performing SSL 565 * communication. 566 * <p> 567 * This is only applicable when the LDAP Connection Handler is 568 * configured to use SSL. 569 * 570 * @param value The value of the "ssl-cert-nickname" property. 571 * @throws PropertyException 572 * If the new value is invalid. 573 */ 574 void setSSLCertNickname(String 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 or StartTLS communication. 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 or StartTLS communication. 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-client-auth-policy" property. 606 * <p> 607 * Specifies the policy that the LDAP Connection Handler should use 608 * regarding client SSL certificates. Clients can use the SASL 609 * EXTERNAL mechanism only if the policy is set to "optional" or 610 * "required". 611 * <p> 612 * This is only applicable if clients are allowed to use SSL. 613 * 614 * @return Returns the value of the "ssl-client-auth-policy" property. 615 */ 616 SSLClientAuthPolicy getSSLClientAuthPolicy(); 617 618 619 620 /** 621 * Sets the "ssl-client-auth-policy" property. 622 * <p> 623 * Specifies the policy that the LDAP Connection Handler should use 624 * regarding client SSL certificates. Clients can use the SASL 625 * EXTERNAL mechanism only if the policy is set to "optional" or 626 * "required". 627 * <p> 628 * This is only applicable if clients are allowed to use SSL. 629 * 630 * @param value The value of the "ssl-client-auth-policy" property. 631 * @throws PropertyException 632 * If the new value is invalid. 633 */ 634 void setSSLClientAuthPolicy(SSLClientAuthPolicy value) throws PropertyException; 635 636 637 638 /** 639 * Gets the "ssl-protocol" property. 640 * <p> 641 * Specifies the names of the SSL protocols that are allowed for use 642 * in SSL or StartTLS communication. 643 * 644 * @return Returns the values of the "ssl-protocol" property. 645 */ 646 SortedSet<String> getSSLProtocol(); 647 648 649 650 /** 651 * Sets the "ssl-protocol" property. 652 * <p> 653 * Specifies the names of the SSL protocols that are allowed for use 654 * in SSL or StartTLS communication. 655 * 656 * @param values The values of the "ssl-protocol" property. 657 * @throws PropertyException 658 * If one or more of the new values are invalid. 659 */ 660 void setSSLProtocol(Collection<String> values) throws PropertyException; 661 662 663 664 /** 665 * Gets the "trust-manager-provider" property. 666 * <p> 667 * Specifies the name of the trust manager that should be used with 668 * the LDAP Connection Handler . 669 * 670 * @return Returns the value of the "trust-manager-provider" property. 671 */ 672 String getTrustManagerProvider(); 673 674 675 676 /** 677 * Sets the "trust-manager-provider" property. 678 * <p> 679 * Specifies the name of the trust manager that should be used with 680 * the LDAP Connection Handler . 681 * 682 * @param value The value of the "trust-manager-provider" property. 683 * @throws PropertyException 684 * If the new value is invalid. 685 */ 686 void setTrustManagerProvider(String value) throws PropertyException; 687 688 689 690 /** 691 * Gets the "use-ssl" property. 692 * <p> 693 * Indicates whether the LDAP Connection Handler should use SSL. 694 * <p> 695 * If enabled, the LDAP Connection Handler will use SSL to encrypt 696 * communication with the clients. 697 * 698 * @return Returns the value of the "use-ssl" property. 699 */ 700 boolean isUseSSL(); 701 702 703 704 /** 705 * Sets the "use-ssl" property. 706 * <p> 707 * Indicates whether the LDAP Connection Handler should use SSL. 708 * <p> 709 * If enabled, the LDAP Connection Handler will use SSL to encrypt 710 * communication with the clients. 711 * 712 * @param value The value of the "use-ssl" property. 713 * @throws PropertyException 714 * If the new value is invalid. 715 */ 716 void setUseSSL(Boolean value) throws PropertyException; 717 718 719 720 /** 721 * Gets the "use-tcp-keep-alive" property. 722 * <p> 723 * Indicates whether the LDAP Connection Handler should use TCP 724 * keep-alive. 725 * <p> 726 * If enabled, the SO_KEEPALIVE socket option is used to indicate 727 * that TCP keepalive messages should periodically be sent to the 728 * client to verify that the associated connection is still valid. 729 * This may also help prevent cases in which intermediate network 730 * hardware could silently drop an otherwise idle client connection, 731 * provided that the keepalive interval configured in the underlying 732 * operating system is smaller than the timeout enforced by the 733 * network hardware. 734 * 735 * @return Returns the value of the "use-tcp-keep-alive" property. 736 */ 737 boolean isUseTCPKeepAlive(); 738 739 740 741 /** 742 * Sets the "use-tcp-keep-alive" property. 743 * <p> 744 * Indicates whether the LDAP Connection Handler should use TCP 745 * keep-alive. 746 * <p> 747 * If enabled, the SO_KEEPALIVE socket option is used to indicate 748 * that TCP keepalive messages should periodically be sent to the 749 * client to verify that the associated connection is still valid. 750 * This may also help prevent cases in which intermediate network 751 * hardware could silently drop an otherwise idle client connection, 752 * provided that the keepalive interval configured in the underlying 753 * operating system is smaller than the timeout enforced by the 754 * network hardware. 755 * 756 * @param value The value of the "use-tcp-keep-alive" property. 757 * @throws PropertyException 758 * If the new value is invalid. 759 */ 760 void setUseTCPKeepAlive(Boolean value) throws PropertyException; 761 762 763 764 /** 765 * Gets the "use-tcp-no-delay" property. 766 * <p> 767 * Indicates whether the LDAP Connection Handler should use TCP 768 * no-delay. 769 * <p> 770 * If enabled, the TCP_NODELAY socket option is used to ensure that 771 * response messages to the client are sent immediately rather than 772 * potentially waiting to determine whether additional response 773 * messages can be sent in the same packet. In most cases, using the 774 * TCP_NODELAY socket option provides better performance and lower 775 * response times, but disabling it may help for some cases in which 776 * the server sends a large number of entries to a client in response 777 * to a search request. 778 * 779 * @return Returns the value of the "use-tcp-no-delay" property. 780 */ 781 boolean isUseTCPNoDelay(); 782 783 784 785 /** 786 * Sets the "use-tcp-no-delay" property. 787 * <p> 788 * Indicates whether the LDAP Connection Handler should use TCP 789 * no-delay. 790 * <p> 791 * If enabled, the TCP_NODELAY socket option is used to ensure that 792 * response messages to the client are sent immediately rather than 793 * potentially waiting to determine whether additional response 794 * messages can be sent in the same packet. In most cases, using the 795 * TCP_NODELAY socket option provides better performance and lower 796 * response times, but disabling it may help for some cases in which 797 * the server sends a large number of entries to a client in response 798 * to a search request. 799 * 800 * @param value The value of the "use-tcp-no-delay" property. 801 * @throws PropertyException 802 * If the new value is invalid. 803 */ 804 void setUseTCPNoDelay(Boolean value) throws PropertyException; 805 806}