Class NWUDPSession

  • All Implemented Interfaces:
    NSObject

    public class NWUDPSession
    extends NSObject
    [@interface] NWUDPSession Open UDP datagram sessions to an endpoint, and send and receive datagrams. API-Since: 9.0
    • Constructor Detail

      • NWUDPSession

        protected NWUDPSession​(org.moe.natj.general.Pointer peer)
    • Method Detail

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

        public static NWUDPSession allocWithZone​(org.moe.natj.general.ptr.VoidPtr zone)
      • automaticallyNotifiesObserversForKey

        public static boolean automaticallyNotifiesObserversForKey​(@NotNull
                                                                   @NotNull java.lang.String key)
      • cancelPreviousPerformRequestsWithTarget

        public static void cancelPreviousPerformRequestsWithTarget​(@NotNull
                                                                   @NotNull java.lang.Object aTarget)
      • cancelPreviousPerformRequestsWithTargetSelectorObject

        public static void cancelPreviousPerformRequestsWithTargetSelectorObject​(@NotNull
                                                                                 @NotNull java.lang.Object aTarget,
                                                                                 @NotNull
                                                                                 @NotNull org.moe.natj.objc.SEL aSelector,
                                                                                 @Nullable
                                                                                 @Nullable java.lang.Object anArgument)
      • classFallbacksForKeyedArchiver

        @NotNull
        public static @NotNull NSArray<java.lang.String> classFallbacksForKeyedArchiver()
      • classForKeyedUnarchiver

        @NotNull
        public static @NotNull org.moe.natj.objc.Class classForKeyedUnarchiver()
      • debugDescription_static

        public static java.lang.String debugDescription_static()
      • description_static

        public static java.lang.String description_static()
      • hash_static

        public static long hash_static()
      • instanceMethodSignatureForSelector

        public static NSMethodSignature instanceMethodSignatureForSelector​(org.moe.natj.objc.SEL aSelector)
      • instancesRespondToSelector

        public static boolean instancesRespondToSelector​(org.moe.natj.objc.SEL aSelector)
      • isSubclassOfClass

        public static boolean isSubclassOfClass​(org.moe.natj.objc.Class aClass)
      • keyPathsForValuesAffectingValueForKey

        @NotNull
        public static @NotNull NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(@NotNull
                                                                                             @NotNull java.lang.String key)
      • resolveClassMethod

        public static boolean resolveClassMethod​(org.moe.natj.objc.SEL sel)
      • resolveInstanceMethod

        public static boolean resolveInstanceMethod​(org.moe.natj.objc.SEL sel)
      • setVersion_static

        public static void setVersion_static​(long aVersion)
      • superclass_static

        public static org.moe.natj.objc.Class superclass_static()
      • version_static

        public static long version_static()
      • cancel

        public void cancel()
        cancel Move into the NWUDPSessionStateCancelled state. The connection will be terminated, and all handlers will be cancelled. API-Since: 9.0
      • currentPath

        @Nullable
        public @Nullable NWPath currentPath()
        [@property] currentPath The current evaluated path for the resolvedEndpoint. Use KVO to watch for changes. API-Since: 9.0
      • endpoint

        @NotNull
        public @NotNull NWEndpoint endpoint()
        [@property] endpoint The provided endpoint. API-Since: 9.0
      • hasBetterPath

        public boolean hasBetterPath()
        [@property] hasBetterPath YES if there is another path available that is preferred over the currentPath. To take advantage of this path, create a new UDPSession. Use KVO to watch for changes. API-Since: 9.0
      • initWithUpgradeForSession

        public NWUDPSession initWithUpgradeForSession​(@NotNull
                                                      @NotNull NWUDPSession session)
        initWithUpgradeForSession: This convenience initializer can be used to create a new session based on the original session's endpoint and parameters. The application should create an NWUDPSession and watch the "hasBetterPath" property. When this property is YES, it should call initWithUpgradeForSession: to create a new session, with the goal to start transferring data on the new better path as soon as possible to reduce power and potentially monetary cost. When the new "upgrade" session becomes ready and when the application wraps up the previous application session on the original session, the application can start using the new "upgrade" session and tear down the original one.
        Parameters:
        session - The original session from which the application will upgrade
        Returns:
        An initialized NWUDPSession object. API-Since: 9.0
      • isViable

        public boolean isViable()
        [@property] viable YES if the connection can read and write data, NO otherwise. Use KVO to watch this property. API-Since: 9.0
      • maximumDatagramLength

        public long maximumDatagramLength()
        [@property] maximumDatagramLength The maximum size of a datagram to be written currently. If a datagram is written with a longer length, the datagram may be fragmented or encounter an error. Note that this value is not guaranteed to be the maximum datagram length for end-to-end communication across the network. Use KVO to watch for changes. API-Since: 9.0
      • resolvedEndpoint

        @Nullable
        public @Nullable NWEndpoint resolvedEndpoint()
        [@property] resolvedEndpoint The currently targeted remote endpoint. Use KVO to watch for changes. API-Since: 9.0
      • setReadHandlerMaxDatagrams

        public void setReadHandlerMaxDatagrams​(@NotNull
                                               @NotNull NWUDPSession.Block_setReadHandlerMaxDatagrams handler,
                                               long maxDatagrams)
        setReadHandler:maxDatagrams Set a read handler for datagrams. Reads will be scheduled by the system, so this method only needs to be called once for a session.
        Parameters:
        handler - A handler called when datagrams have been read, or when an error has occurred.
        maxDatagrams - The maximum number of datagrams to send to the handler. API-Since: 9.0
      • state

        public long state()
        [@property] state The current state of the UDP session. If the state is NWUDPSessionStateReady, then the connection is eligible for reading and writing. The state will be NWUDPSessionStateFailed if the endpoint could not be resolved, or all endpoints have been rejected. Use KVO to watch for changes. API-Since: 9.0
      • tryNextResolvedEndpoint

        public void tryNextResolvedEndpoint()
        tryNextResolvedEndpoint Mark the current value of resolvedEndpoint as unusable, and try to switch to the next available endpoint. This should be used when the caller has attempted to communicate with the current resolvedEndpoint, and the caller has determined that it is unusable. If there are no other resolved endpoints, the session will move to the failed state. API-Since: 9.0
      • writeDatagramCompletionHandler

        public void writeDatagramCompletionHandler​(@NotNull
                                                   @NotNull NSData datagram,
                                                   @NotNull
                                                   @NotNull NWUDPSession.Block_writeDatagramCompletionHandler completionHandler)
        writeDatagram:completionHandler Write a single datagram. Callers should wait until the completionHandler is executed before issuing another write.
        Parameters:
        datagram - An NSData containing the datagram to write.
        completionHandler - A handler called when the write request has either succeeded or failed. API-Since: 9.0
      • writeMultipleDatagramsCompletionHandler

        public void writeMultipleDatagramsCompletionHandler​(@NotNull
                                                            @NotNull NSArray<? extends NSData> datagramArray,
                                                            @NotNull
                                                            @NotNull NWUDPSession.Block_writeMultipleDatagramsCompletionHandler completionHandler)
        writeMultipleDatagrams:completionHandler Write multiple datagrams. Callers should wait until the completionHandler is executed before issuing another write.
        Parameters:
        datagramArray - An NSArray of NSData objects, containing the ordered list datagrams to write.
        completionHandler - A handler called when the write request has either succeeded or failed. API-Since: 9.0
      • useStoredAccessor

        @Deprecated
        public static boolean useStoredAccessor()
        Deprecated.