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.
    • Constructor Detail

      • NWUDPSession

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

      • accessInstanceVariablesDirectly

        public static boolean accessInstanceVariablesDirectly()
      • allocWithZone

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

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

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

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

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

        public static 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

        public static NSSet<java.lang.String> keyPathsForValuesAffectingValueForKey​(java.lang.String key)
      • new_objc

        public static java.lang.Object new_objc()
      • 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.
      • currentPath

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

        public NWEndpoint endpoint()
        [@property] endpoint The provided endpoint.
      • 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.
      • initWithUpgradeForSession

        public NWUDPSession initWithUpgradeForSession​(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.
      • isViable

        public boolean isViable()
        [@property] viable YES if the connection can read and write data, NO otherwise. Use KVO to watch this property.
      • 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.
      • resolvedEndpoint

        public NWEndpoint resolvedEndpoint()
        [@property] resolvedEndpoint The currently targeted remote endpoint. Use KVO to watch for changes.
      • setReadHandlerMaxDatagrams

        public void setReadHandlerMaxDatagrams​(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.
      • 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.
      • 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.
      • writeDatagramCompletionHandler

        public void writeDatagramCompletionHandler​(NSData datagram,
                                                   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.
      • writeMultipleDatagramsCompletionHandler

        public void writeMultipleDatagramsCompletionHandler​(NSArray<? extends NSData> datagramArray,
                                                            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.