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 nicknames (also called the aliases) of the 548 * certificates that the LDAP Connection Handler should use when 549 * performing SSL communication. The property can be used multiple 550 * times (referencing different nicknames) when an RSA, a DSA, and an 551 * ECC based server certificate is used in parallel. 552 * <p> 553 * This is only applicable when the LDAP Connection Handler is 554 * configured to use SSL. 555 * 556 * @return Returns the values of the "ssl-cert-nickname" property. 557 */ 558 SortedSet<String> getSSLCertNickname(); 559 560 561 562 /** 563 * Sets the "ssl-cert-nickname" property. 564 * <p> 565 * Specifies the nicknames (also called the aliases) of the 566 * certificates that the LDAP Connection Handler should use when 567 * performing SSL communication. The property can be used multiple 568 * times (referencing different nicknames) when an RSA, a DSA, and an 569 * ECC based server certificate is used in parallel. 570 * <p> 571 * This is only applicable when the LDAP Connection Handler is 572 * configured to use SSL. 573 * 574 * @param values The values of the "ssl-cert-nickname" property. 575 * @throws PropertyException 576 * If one or more of the new values are invalid. 577 */ 578 void setSSLCertNickname(Collection<String> values) throws PropertyException; 579 580 581 582 /** 583 * Gets the "ssl-cipher-suite" property. 584 * <p> 585 * Specifies the names of the SSL cipher suites that are allowed for 586 * use in SSL or StartTLS communication. 587 * 588 * @return Returns the values of the "ssl-cipher-suite" property. 589 */ 590 SortedSet<String> getSSLCipherSuite(); 591 592 593 594 /** 595 * Sets the "ssl-cipher-suite" property. 596 * <p> 597 * Specifies the names of the SSL cipher suites that are allowed for 598 * use in SSL or StartTLS communication. 599 * 600 * @param values The values of the "ssl-cipher-suite" property. 601 * @throws PropertyException 602 * If one or more of the new values are invalid. 603 */ 604 void setSSLCipherSuite(Collection<String> values) throws PropertyException; 605 606 607 608 /** 609 * Gets the "ssl-client-auth-policy" property. 610 * <p> 611 * Specifies the policy that the LDAP Connection Handler should use 612 * regarding client SSL certificates. Clients can use the SASL 613 * EXTERNAL mechanism only if the policy is set to "optional" or 614 * "required". 615 * <p> 616 * This is only applicable if clients are allowed to use SSL. 617 * 618 * @return Returns the value of the "ssl-client-auth-policy" property. 619 */ 620 SSLClientAuthPolicy getSSLClientAuthPolicy(); 621 622 623 624 /** 625 * Sets the "ssl-client-auth-policy" property. 626 * <p> 627 * Specifies the policy that the LDAP Connection Handler should use 628 * regarding client SSL certificates. Clients can use the SASL 629 * EXTERNAL mechanism only if the policy is set to "optional" or 630 * "required". 631 * <p> 632 * This is only applicable if clients are allowed to use SSL. 633 * 634 * @param value The value of the "ssl-client-auth-policy" property. 635 * @throws PropertyException 636 * If the new value is invalid. 637 */ 638 void setSSLClientAuthPolicy(SSLClientAuthPolicy value) throws PropertyException; 639 640 641 642 /** 643 * Gets the "ssl-protocol" property. 644 * <p> 645 * Specifies the names of the SSL protocols that are allowed for use 646 * in SSL or StartTLS communication. 647 * 648 * @return Returns the values of the "ssl-protocol" property. 649 */ 650 SortedSet<String> getSSLProtocol(); 651 652 653 654 /** 655 * Sets the "ssl-protocol" property. 656 * <p> 657 * Specifies the names of the SSL protocols that are allowed for use 658 * in SSL or StartTLS communication. 659 * 660 * @param values The values of the "ssl-protocol" property. 661 * @throws PropertyException 662 * If one or more of the new values are invalid. 663 */ 664 void setSSLProtocol(Collection<String> values) throws PropertyException; 665 666 667 668 /** 669 * Gets the "trust-manager-provider" property. 670 * <p> 671 * Specifies the name of the trust manager that should be used with 672 * the LDAP Connection Handler . 673 * 674 * @return Returns the value of the "trust-manager-provider" property. 675 */ 676 String getTrustManagerProvider(); 677 678 679 680 /** 681 * Sets the "trust-manager-provider" property. 682 * <p> 683 * Specifies the name of the trust manager that should be used with 684 * the LDAP Connection Handler . 685 * 686 * @param value The value of the "trust-manager-provider" property. 687 * @throws PropertyException 688 * If the new value is invalid. 689 */ 690 void setTrustManagerProvider(String value) throws PropertyException; 691 692 693 694 /** 695 * Gets the "use-ssl" property. 696 * <p> 697 * Indicates whether the LDAP Connection Handler should use SSL. 698 * <p> 699 * If enabled, the LDAP Connection Handler will use SSL to encrypt 700 * communication with the clients. 701 * 702 * @return Returns the value of the "use-ssl" property. 703 */ 704 boolean isUseSSL(); 705 706 707 708 /** 709 * Sets the "use-ssl" property. 710 * <p> 711 * Indicates whether the LDAP Connection Handler should use SSL. 712 * <p> 713 * If enabled, the LDAP Connection Handler will use SSL to encrypt 714 * communication with the clients. 715 * 716 * @param value The value of the "use-ssl" property. 717 * @throws PropertyException 718 * If the new value is invalid. 719 */ 720 void setUseSSL(Boolean value) throws PropertyException; 721 722 723 724 /** 725 * Gets the "use-tcp-keep-alive" property. 726 * <p> 727 * Indicates whether the LDAP Connection Handler should use TCP 728 * keep-alive. 729 * <p> 730 * If enabled, the SO_KEEPALIVE socket option is used to indicate 731 * that TCP keepalive messages should periodically be sent to the 732 * client to verify that the associated connection is still valid. 733 * This may also help prevent cases in which intermediate network 734 * hardware could silently drop an otherwise idle client connection, 735 * provided that the keepalive interval configured in the underlying 736 * operating system is smaller than the timeout enforced by the 737 * network hardware. 738 * 739 * @return Returns the value of the "use-tcp-keep-alive" property. 740 */ 741 boolean isUseTCPKeepAlive(); 742 743 744 745 /** 746 * Sets the "use-tcp-keep-alive" property. 747 * <p> 748 * Indicates whether the LDAP Connection Handler should use TCP 749 * keep-alive. 750 * <p> 751 * If enabled, the SO_KEEPALIVE socket option is used to indicate 752 * that TCP keepalive messages should periodically be sent to the 753 * client to verify that the associated connection is still valid. 754 * This may also help prevent cases in which intermediate network 755 * hardware could silently drop an otherwise idle client connection, 756 * provided that the keepalive interval configured in the underlying 757 * operating system is smaller than the timeout enforced by the 758 * network hardware. 759 * 760 * @param value The value of the "use-tcp-keep-alive" property. 761 * @throws PropertyException 762 * If the new value is invalid. 763 */ 764 void setUseTCPKeepAlive(Boolean value) throws PropertyException; 765 766 767 768 /** 769 * Gets the "use-tcp-no-delay" property. 770 * <p> 771 * Indicates whether the LDAP Connection Handler should use TCP 772 * no-delay. 773 * <p> 774 * If enabled, the TCP_NODELAY socket option is used to ensure that 775 * response messages to the client are sent immediately rather than 776 * potentially waiting to determine whether additional response 777 * messages can be sent in the same packet. In most cases, using the 778 * TCP_NODELAY socket option provides better performance and lower 779 * response times, but disabling it may help for some cases in which 780 * the server sends a large number of entries to a client in response 781 * to a search request. 782 * 783 * @return Returns the value of the "use-tcp-no-delay" property. 784 */ 785 boolean isUseTCPNoDelay(); 786 787 788 789 /** 790 * Sets the "use-tcp-no-delay" property. 791 * <p> 792 * Indicates whether the LDAP Connection Handler should use TCP 793 * no-delay. 794 * <p> 795 * If enabled, the TCP_NODELAY socket option is used to ensure that 796 * response messages to the client are sent immediately rather than 797 * potentially waiting to determine whether additional response 798 * messages can be sent in the same packet. In most cases, using the 799 * TCP_NODELAY socket option provides better performance and lower 800 * response times, but disabling it may help for some cases in which 801 * the server sends a large number of entries to a client in response 802 * to a search request. 803 * 804 * @param value The value of the "use-tcp-no-delay" property. 805 * @throws PropertyException 806 * If the new value is invalid. 807 */ 808 void setUseTCPNoDelay(Boolean value) throws PropertyException; 809 810}