Class NSURLSessionTaskTransactionMetrics

  • All Implemented Interfaces:
    NSObject

    public class NSURLSessionTaskTransactionMetrics
    extends NSObject
    This class defines the performance metrics collected for a request/response transaction during the task execution.
    • Constructor Detail

      • NSURLSessionTaskTransactionMetrics

        protected NSURLSessionTaskTransactionMetrics​(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()
      • connectEndDate

        public NSDate connectEndDate()
        connectEndDate is the time immediately after the user agent finished establishing the connection to the server, including completion of security-related and other handshakes.
      • connectStartDate

        public NSDate connectStartDate()
        connectStartDate is the time immediately before the user agent started establishing the connection to the server. For example, this would correspond to the time immediately before the user agent started trying to establish the TCP connection.
      • domainLookupEndDate

        public NSDate domainLookupEndDate()
        domainLookupEndDate returns the time after the name lookup was completed.
      • domainLookupStartDate

        public NSDate domainLookupStartDate()
        domainLookupStartDate returns the time immediately before the user agent started the name lookup for the resource.
      • fetchStartDate

        public NSDate fetchStartDate()
        fetchStartDate returns the time when the user agent started fetching the resource, whether or not the resource was retrieved from the server or local resources. The following metrics will be set to nil, if a persistent connection was used or the resource was retrieved from local resources: domainLookupStartDate domainLookupEndDate connectStartDate connectEndDate secureConnectionStartDate secureConnectionEndDate
      • isProxyConnection

        public boolean isProxyConnection()
        This property is set to YES if a proxy connection was used to fetch the resource.
      • isReusedConnection

        public boolean isReusedConnection()
        This property is set to YES if a persistent connection was used to fetch the resource.
      • networkProtocolName

        public java.lang.String networkProtocolName()
        The network protocol used to fetch the resource, as identified by the ALPN Protocol ID Identification Sequence [RFC7301]. E.g., h2, http/1.1, spdy/3.1. When a proxy is configured AND a tunnel connection is established, then this attribute returns the value for the tunneled protocol. For example: If no proxy were used, and HTTP/2 was negotiated, then h2 would be returned. If HTTP/1.1 were used to the proxy, and the tunneled connection was HTTP/2, then h2 would be returned. If HTTP/1.1 were used to the proxy, and there were no tunnel, then http/1.1 would be returned.
      • request

        public NSURLRequest request()
        Represents the transaction request.
      • requestEndDate

        public NSDate requestEndDate()
        requestEndDate is the time immediately after the user agent finished requesting the source, regardless of whether the resource was retrieved from the server or local resources. For example, this would correspond to the time immediately after the user agent finished sending the last byte of the request.
      • requestStartDate

        public NSDate requestStartDate()
        requestStartDate is the time immediately before the user agent started requesting the source, regardless of whether the resource was retrieved from the server or local resources. For example, this would correspond to the time immediately before the user agent sent an HTTP GET request.
      • resourceFetchType

        public long resourceFetchType()
        Indicates whether the resource was loaded, pushed or retrieved from the local cache.
      • response

        public NSURLResponse response()
        Represents the transaction response. Can be nil if error occurred and no response was generated.
      • responseEndDate

        public NSDate responseEndDate()
        responseEndDate is the time immediately after the user agent received the last byte of the resource.
      • responseStartDate

        public NSDate responseStartDate()
        responseStartDate is the time immediately after the user agent received the first byte of the response from the server or from local resources. For example, this would correspond to the time immediately after the user agent received the first byte of an HTTP response.
      • secureConnectionEndDate

        public NSDate secureConnectionEndDate()
        If an encrypted connection was used, secureConnectionEndDate is the time immediately after the security handshake completed. If an encrypted connection was not used, this attribute is set to nil.
      • secureConnectionStartDate

        public NSDate secureConnectionStartDate()
        If an encrypted connection was used, secureConnectionStartDate is the time immediately before the user agent started the security handshake to secure the current connection. For example, this would correspond to the time immediately before the user agent started the TLS handshake. If an encrypted connection was not used, this attribute is set to nil.
      • countOfRequestBodyBytesBeforeEncoding

        public long countOfRequestBodyBytesBeforeEncoding()
        countOfRequestBodyBytesBeforeEncoding is the size of upload body data, file, or stream.
      • countOfRequestBodyBytesSent

        public long countOfRequestBodyBytesSent()
        countOfRequestBodyBytesSent is the number of bytes transferred for request body. It includes protocol-specific framing, transfer encoding, and content encoding.
      • countOfRequestHeaderBytesSent

        public long countOfRequestHeaderBytesSent()
        countOfRequestHeaderBytesSent is the number of bytes transferred for request header.
      • countOfResponseBodyBytesAfterDecoding

        public long countOfResponseBodyBytesAfterDecoding()
        countOfResponseBodyBytesAfterDecoding is the size of data delivered to your delegate or completion handler.
      • countOfResponseBodyBytesReceived

        public long countOfResponseBodyBytesReceived()
        countOfResponseBodyBytesReceived is the number of bytes transferred for response header. It includes protocol-specific framing, transfer encoding, and content encoding.
      • countOfResponseHeaderBytesReceived

        public long countOfResponseHeaderBytesReceived()
        countOfResponseHeaderBytesReceived is the number of bytes transferred for response header.
      • isCellular

        public boolean isCellular()
        Whether the connection is established over a cellular interface.
      • isConstrained

        public boolean isConstrained()
        Whether the connection is established over a constrained interface.
      • isExpensive

        public boolean isExpensive()
        Whether the connection is established over an expensive interface.
      • isMultipath

        public boolean isMultipath()
        Whether a multipath protocol is successfully negotiated for the connection.
      • localAddress

        public java.lang.String localAddress()
        localAddress is the IP address string of the local interface for the connection. For multipath protocols, this is the local address of the initial flow. If a connection was not used, this attribute is set to nil.
      • localPort

        public NSNumber localPort()
        localPort is the port number of the local interface for the connection. For multipath protocols, this is the local port of the initial flow. If a connection was not used, this attribute is set to nil.
      • negotiatedTLSCipherSuite

        public NSNumber negotiatedTLSCipherSuite()
        negotiatedTLSCipherSuite is the TLS cipher suite negotiated for the connection. It is a 2-byte sequence in host byte order. Please refer to tls_ciphersuite_t enum in Security/SecProtocolTypes.h If an encrypted connection was not used, this attribute is set to nil.
      • negotiatedTLSProtocolVersion

        public NSNumber negotiatedTLSProtocolVersion()
        negotiatedTLSProtocolVersion is the TLS protocol version negotiated for the connection. It is a 2-byte sequence in host byte order. Please refer to tls_protocol_version_t enum in Security/SecProtocolTypes.h If an encrypted connection was not used, this attribute is set to nil.
      • remoteAddress

        public java.lang.String remoteAddress()
        remoteAddress is the IP address string of the remote interface for the connection. For multipath protocols, this is the remote address of the initial flow. If a connection was not used, this attribute is set to nil.
      • remotePort

        public NSNumber remotePort()
        remotePort is the port number of the remote interface for the connection. For multipath protocols, this is the remote port of the initial flow. If a connection was not used, this attribute is set to nil.
      • domainResolutionProtocol

        public long domainResolutionProtocol()
        DNS protocol used for domain resolution.