@@ -570,6 +570,8 @@ protected Channel channel() throws IOException {
570570 * @throws CastException If there was an authentication problem with the
571571 * cast device.
572572 * @throws IOException If an error occurs during the operation.
573+ *
574+ * @apiNote This operation is blocking.
573575 */
574576 public boolean connect () throws IOException , KeyManagementException , NoSuchAlgorithmException {
575577 return channel .connect ();
@@ -581,6 +583,8 @@ public boolean connect() throws IOException, KeyManagementException, NoSuchAlgor
581583 * no-op.
582584 *
583585 * @throws IOException If an error occurs during the operation.
586+ *
587+ * @apiNote This operation is non-blocking.
584588 */
585589 public void disconnect () throws IOException {
586590 channel .close ();
@@ -616,6 +620,8 @@ public boolean isAutoReconnect() {
616620 * @return The resulting {@link ReceiverStatus}.
617621 * @throws IOException If the response times out or an error occurs during
618622 * the operation.
623+ *
624+ * @apiNote This operation is blocking.
619625 */
620626 @ Nullable
621627 public ReceiverStatus getReceiverStatus () throws IOException {
@@ -634,6 +640,8 @@ public ReceiverStatus getReceiverStatus() throws IOException {
634640 * @return The resulting {@link ReceiverStatus}.
635641 * @throws IOException If the response times out or an error occurs during
636642 * the operation.
643+ *
644+ * @apiNote This operation is blocking.
637645 */
638646 @ Nullable
639647 public ReceiverStatus getReceiverStatus (long responseTimeout ) throws IOException {
@@ -650,6 +658,8 @@ public ReceiverStatus getReceiverStatus(long responseTimeout) throws IOException
650658 * application, if any, or {@code null}.
651659 * @throws IOException If the response times out or an error occurs during
652660 * the operation.
661+ *
662+ * @apiNote This operation is blocking.
653663 */
654664 @ Nullable
655665 public Application getRunningApplication () throws IOException {
@@ -667,6 +677,8 @@ public Application getRunningApplication() throws IOException {
667677 * it's not.
668678 * @throws IOException If the response times out or if an error occurs
669679 * during the operation.
680+ *
681+ * @apiNote This operation is blocking.
670682 */
671683 public boolean isApplicationAvailable (String applicationId ) throws IOException {
672684 return channel ().isApplicationAvailable (applicationId );
@@ -685,6 +697,8 @@ public boolean isApplicationAvailable(String applicationId) throws IOException {
685697 * "currently running", {@code false} otherwise.
686698 * @throws IOException If the response times out or an error occurs during
687699 * the operation.
700+ *
701+ * @apiNote This operation is blocking.
688702 */
689703 public boolean isApplicationRunning (String applicationId ) throws IOException {
690704 ReceiverStatus status = getReceiverStatus ();
@@ -707,6 +721,9 @@ public boolean isApplicationRunning(String applicationId) throws IOException {
707721 * {@code autoReconnect} is {@code false}.
708722 * @throws IOException If the response times out or an error occurs during
709723 * the operation.
724+ *
725+ * @apiNote This operation is blocking if {@code synchronous} is
726+ * {@code true}, otherwise non-blocking.
710727 */
711728 @ Nullable
712729 public ReceiverStatus launchApplication (String applicationId , boolean synchronous ) throws IOException {
@@ -730,6 +747,9 @@ public ReceiverStatus launchApplication(String applicationId, boolean synchronou
730747 * {@code autoReconnect} is {@code false}.
731748 * @throws IOException If the response times out or an error occurs during
732749 * the operation.
750+ *
751+ * @apiNote This operation is blocking if {@code synchronous} is
752+ * {@code true}, otherwise non-blocking.
733753 */
734754 @ Nullable
735755 public ReceiverStatus launch (String applicationId , boolean synchronous , long responseTimeout ) throws IOException {
@@ -749,6 +769,9 @@ public ReceiverStatus launch(String applicationId, boolean synchronous, long res
749769 * @throws SocketException If the {@link Channel} is closed and
750770 * {@code autoReconnect} is {@code false}.
751771 * @throws IOException If an error occurs during the operation.
772+ *
773+ * @apiNote This operation is blocking if {@code synchronous} is
774+ * {@code true}, otherwise non-blocking.
752775 */
753776 @ Nullable
754777 public ReceiverStatus stopApplication (@ Nullable Application application , boolean synchronous ) throws IOException {
@@ -774,6 +797,9 @@ public ReceiverStatus stopApplication(@Nullable Application application, boolean
774797 * {@code autoReconnect} is {@code false}.
775798 * @throws IOException If the response times out or an error occurs during
776799 * the operation.
800+ *
801+ * @apiNote This operation is blocking if {@code synchronous} is
802+ * {@code true}, otherwise non-blocking.
777803 */
778804 @ Nullable
779805 public ReceiverStatus stopApplication (
@@ -795,6 +821,8 @@ public ReceiverStatus stopApplication(
795821 * @throws SocketException If the {@link Channel} is closed and
796822 * {@code autoReconnect} is {@code false}.
797823 * @throws IOException If an error occurs during the operation.
824+ *
825+ * @apiNote This operation is non-blocking.
798826 */
799827 public Session startSession (
800828 @ Nonnull String sourceId ,
@@ -820,6 +848,8 @@ public Session startSession(
820848 * @throws SocketException If the {@link Channel} is closed and
821849 * {@code autoReconnect} is {@code false}.
822850 * @throws IOException If an error occurs during the operation.
851+ *
852+ * @apiNote This operation is non-blocking.
823853 */
824854 public Session startSession (
825855 @ Nonnull String sourceId ,
@@ -847,6 +877,8 @@ public Session startSession(
847877 * @throws IOException If the cast device has
848878 * {@link VolumeControlType#FIXED} or an error occurs during the
849879 * operation.
880+ *
881+ * @apiNote This operation is non-blocking.
850882 */
851883 public void setVolumeLevel (double level ) throws IOException {
852884 if (level < 0.0 ) {
@@ -869,6 +901,8 @@ public void setVolumeLevel(double level) throws IOException {
869901 * @throws IOException If the cast device has
870902 * {@link VolumeControlType#FIXED} or an error occurs during the
871903 * operation.
904+ *
905+ * @apiNote This operation is non-blocking.
872906 */
873907 public void setMuteState (boolean muteState ) throws IOException {
874908 channel ().setVolume (new Volume (null , null , Boolean .valueOf (muteState ), null ));
@@ -893,6 +927,8 @@ public void setMuteState(boolean muteState) throws IOException {
893927 * @throws IOException If the cast device has
894928 * {@link VolumeControlType#FIXED} or an error occurs during the
895929 * operation.
930+ *
931+ * @apiNote This operation is non-blocking.
896932 */
897933 @ Nullable
898934 public void setVolume (@ Nullable Volume volume ) throws IOException {
@@ -922,6 +958,9 @@ public void setVolume(@Nullable Volume volume) throws IOException {
922958 * invalid (see {@link Channel#validateNamespace(String)} for
923959 * constraints).
924960 * @throws IOException If an error occurs during the operation.
961+ *
962+ * @apiNote This operation is blocking if {@code responseClass} is
963+ * non-{@code null}, otherwise non-blocking.
925964 */
926965 public <T extends Response > T sendGenericRequest (
927966 @ Nonnull String sourceId ,
@@ -956,6 +995,9 @@ public <T extends Response> T sendGenericRequest(
956995 * invalid (see {@link Channel#validateNamespace(String)} for
957996 * constraints).
958997 * @throws IOException If an error occurs during the operation.
998+ *
999+ * @apiNote This operation is blocking if {@code responseClass} is
1000+ * non-{@code null}, otherwise non-blocking.
9591001 */
9601002 public <T extends Response > T sendGenericRequest (
9611003 @ Nonnull String sourceId ,
0 commit comments