Giter VIP home page Giter VIP logo

apns-http2's People

Contributors

dixibankin avatar judepereira avatar mohdabbas378 avatar puranjay2809 avatar puranjayct avatar pwilkniss avatar sswapnnil avatar vb88 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

apns-http2's Issues

How to handle socket timeout exception

When sending push message to APNS I need to handle socket timeout exception so that in case there is any issue while connecting to APNS (because of network or because of rate limiting by APNS or other reasons) I can gracefully handle it.
I frequently face this issue while sending push messages to FCM APIs and the Java lib raises following exception there which I handle:
java.util.concurrent.TimeoutException

NotificationResponse{error=null, httpStatusCode=-1, responseBody='null', cause=java.io.IOException: unexpected end of stream on okhttp3.Address@3be322db}

public static void main(String[] args) throws Exception {
FileInputStream cert = new FileInputStream("aiyacloud_development.p12");
final ApnsClient client = new ApnsClientBuilder().withOkHttp3().withDevelopmentGateway().inSynchronousMode().withCertificate(cert).withPassword("123456").build();
client.start();
Notification n = new Notification.Builder("1e24f9463ee436882086b88015e605a8c51c6fb386846f09695b40c3f7ea64b1").alertBody("Hello").build();
NotificationResponse result = client.push(n);
System.out.println(result);
}

Success not reported when using asynch client

When using the asynchronnous client, I pass my listener to ApnsClient.push(). While on failure, the listener's onFailure() method is called as it should be.
However, the listener's onSuccess() is never called, even though I receive messages.

I debugged a little through the library, and it would appear that OkHttp won't call the respective callback method. Is this a problem with OkHttp, or did I do something wrong in configuring apns-http2?

unexpected end of stream on okhttp3.Address@2f8c2e51

I have the same issue using java 11.

Error Message

WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by okhttp3.internal.Platform (file:/usr/local/repositories/bcc_repositories/com/squareup/okhttp3/okhttp/3.2.0/okhttp-3.2.0.jar) to field sun.security.ssl.SSLSocketFactoryImpl.context
WARNING: Please consider reporting this to the maintainers of okhttp3.internal.Platform
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
java.io.IOException: unexpected end of stream on okhttp3.Address@2124d4cd
	at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:199)
	at okhttp3.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:125)
Caused by: java.io.EOFException: \n not found: size=159 content=000018040000000000000100001000000300000001000500004000000600001f...
	at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:201)
	at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:184)
	... 67 more

My Code

final ApnsClient client = new ApnsClientBuilder()
                    .inSynchronousMode()
                    .withProductionGateway()
                    .withApnsAuthKey("this is my auth key")
                    .withTeamID("this my teamed")
                    .withKeyID("this is key id")
                    .withDefaultTopic("this is topic")
                    .build();
            Notification n = new Notification.Builder("this is my device token")
                    .alertBody("Hello").build();
            client.push(n);

Some Adjustment

  • add class NetInterceptor implements Interceptor
@Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request().newBuilder()
                .addHeader("Connection","close").build();
        return chain.proceed(request);
    }
  • adjust com.clever.apns.clients.ApnsClientBuilder
public static Builder createDefaultOkHttpClientBuilder() {
        Builder builder = new Builder();
        builder.connectTimeout(10, TimeUnit.SECONDS).writeTimeout(10, TimeUnit.SECONDS).readTimeout(30, TimeUnit.SECONDS);
        builder.connectionPool(new ConnectionPool(10, 10, TimeUnit.MINUTES));
        builder.addInterceptor(new NetInterceptor());//added code
        builder.retryOnConnectionFailure(true);//added code
        return builder;
    }
  • I read apple apps documentation,so I try to add port 2197.

屏幕快照 2019-05-09 下午8 19 11

Result

But I can not solve the problem.Could you tell me the solution?

How to set alert option "subtitle"?

Hi.
Is it possible to create notification with such alert format:

"alert":
{ "body": "Body..",
"title": "Title..",
"subtitle": "Subtitle.."
}

In notification Builder there are only two methods for alert - alertBody(...) and alertTitle(...). But what about other keys for alert? Is it possible to use others alert's keys?

Notifications always successful, even when token has been invalidated

I'm able to send notifications which are properly received on some iOS device.

However, when uninstalling the corresponding app from the device, I would expect forthcoming notifications sent with the same token to fail with "Invalid Provider Token" error.

But this is not case: notifications are never failing.

apns-expiration header

Hi guys,

I would like to know why "apns-expiration" header is not included since I think it is a quite an important one.

Thanks

Problems with java9 branch

Hi,

I had some problems to get the java9 brach running.

First I have to add

	exports com.clevertap.apns;
	exports com.clevertap.apns.clients;

to the module-info.java.

After that, when sending a notification with p12 certificate, I got a InvalidProviderToken response.

To fix this, I added the sslContext to the httpClientBuilder in the SyncApnsClient constructor with InputStream.

        this.client = httpClientBuilder
                .version(HttpClient.Version.HTTP_2)
                .sslContext(sslContext)
                .build();

Thanks for your great work.

Support for Java 9

Is it possible to use CleverTap for pushing to iOS without the Jetty alpn software?
I am using JRE and JDK 9.0.1 which is supposed to support HHTP/2 but get the "end of stream error".

duplicate receive notifications.

I had implement the push service with netty, and if I send many notifications with different alter to the same device in a for loop, I would receive duplicate per notification. I also use your implementation(synchronous mode), it also appeared. So I think it's a issue of Apns Http/2.
# ### my code:

for (int i = 0; i < 1; i++) {
			new Thread(new Runnable() {
				@Override
				public void run() {
					for (int i=0; i<10; i++) {
						String payload = "{\"aps\":{\"alert\":\""+i+"\",\"badge\":1,\"sound\":\"default\"},\"command\":\"agent_notice\",\"purpose\":\"visitor\",\"username\":\"c23896\"}";
						String token = "xxx779a3ee461dc3028c337fae85a57453ea9920e09d896664709a2a73d9fxxx";
						UUID apnsId = UUID.randomUUID();
						FullHttpRequest request = new DefaultFullHttpRequest(
								HTTP_1_1, POST, Http2APNsConstant.PATH_BASIC
								+ token, Unpooled.copiedBuffer(payload
										.getBytes(CharsetUtil.UTF_8)));
						request.headers().add(Http2APNsConstant.APNS_ID_HEADER,
								apnsId);
						request.headers().add(Http2APNsConstant.APNS_COLLAPSE_ID,
								"1");
						Http2Client client = null;
						try {
							long start = System.currentTimeMillis();
							client = pool.getClient();
							System.out.println(apnsId + " get client:" + (System.currentTimeMillis()-start));
							start = System.currentTimeMillis();
							client.registerRec(apnsId);
							client.send(request);
							System.out.println(apnsId + " send finish:" + (System.currentTimeMillis()-start));
						} catch (Throwable e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						} finally {
							if(client != null){
								client.dispose();
							}
						}
						try {
							long start = System.currentTimeMillis();
							Response resp = client.receive(apnsId, 5000);
							System.out.println(apnsId + " response:" + (System.currentTimeMillis()-start) + "\t" + resp.getStatus().code());
							System.out.println(resp.toString());
						} catch (TimeoutException e) {
							System.out.println(apnsId);
							// TODO Auto-generated catch block
							e.printStackTrace();
						} catch (Exception e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						} finally {
				            if (client != null) {
				            	client.unregisterRec(apnsId);
				            }
				        }
					}
				}
			}).start();
		}

### with your code:

final ApnsClient client = new ApnsClientBuilder()
		        .withProductionGateway()
		        .inSynchronousMode()
		        .withProductionGateway(true)
		        .withCertificate(cert)
		        .withPassword("xxx")
		        .withDefaultTopic("xxx")
		        .build();
		for (int i=0; i<10; i++) {
			Notification n = new Notification.Builder("xxx779a3ee461dc3028c337fae85a57453ea9920e09d896664709a2a73d9fxxx")
			.alertBody("Hello"+i).build();
			System.out.println(client.push(n));
		}

java.io.EOFException

Hi
i used the following code to invoke apns service:
FileInputStream cert = new FileInputStream("path/Production.p12");
final ApnsClient client = new ApnsClientBuilder()
.withProductionGateway()
.inSynchronousMode()
.withCertificate(cert)
.withPassword("pwd")
.withDefaultTopic("com")
.build();
/* System.out.println("finish create client entity");/
Notification n = new Notification.Builder("2edbd61c4abdcd0da7fc671d7a89bc9fef84d3f474c94f5243f57cd")
.alertBody("Hello").build();
/
System.out.println("finish create n");*/
NotificationResponse result = client.push(n);

but get the following response:
NotificationResponse{error=null, httpStatusCode=-1, responseBody='null', cause=java.io.EOFException: \n not found: size=176 content=0000180400000000000001000010000003000003e8000500004000000600001f...}

does any one face the same situation? i tried add the header rb.addHeader("Connection", "close"). it does not work for me?

Tommy

Tommy

SSLHandshakeException when using with p8 option

Hi - Am trying to use the library with p8 file (Key Id/Team ID/ P8 option) and when I execute it, the response object is as below. It throws a SSLHandshakeException. I have installed the *.push.apple.com SSL certificate in the WAS trust store. Can you pls guide me on what could cause the issue? My environment is IBM WAS 8.5.5, running Java 1.7. I'm using latest version of OKHTTP3 (3.9.2) since I ran into some trust manager issues with 3.2 version.

NotificationResponse{error=null, httpStatusCll', cause=javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure}

I googled for the problem, but most of the solutions are with p12 option, with certificate not extracted correctly. But am using a p8 file here.

Pls let me know if you need more details. Thanks a bunch for this wonderful library.

Cannot customize OkHttp Client

Hello,

I need to operate apns-http2 behind an authenticated HTTP Proxy, but found that there is no support for that in the library. OkHttp itself supports this kind of configuration, but apns-http2 currently won't allow access to the OkHttpClient.Builder that would allow this kind of customization.

Localized Values in Aps object

Hi
We were using javapns library but it has lots of problems so we decided to move apns-http2 library
However there is a core functionality that we are using in our push notificaitons which is localizable values in aps object

title-loc-key
title-loc-args

Are those variable supported in apns-http2, if its can you show me how can I build the notification object with these parameters

Unexpected End of Stream on Connection

Not sure why I'm getting this response from the Apple Dev APNS from basically using the "Using Provider Certificate" example in the README:

Sending: {"aps":{"alert":{"body":"Hello World"}}}

NotificationResponse{error=null, httpStatusCode=-1, responseBody='null', cause=java.io.IOException: unexpected end of stream on Connection{api.development.push.apple.com:443, proxy=DIRECT hostAddress=api.development.push.apple.com/17.188.138.73:443 cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 protocol=http/1.1}}

try {
			FileInputStream cert = new FileInputStream("/Users/Jim/Desktop/Sec/adhoc_aps_key.p12");
			final ApnsClient client = new ApnsClientBuilder()
			        .withDevelopmentGateway()
					.inSynchronousMode()
			        .withCertificate(cert)
			        .withPassword("********")
			        .build();
	
			Notification n = new Notification.Builder("bed934c1196680f82dbb151a93e761f54ed3d7de7e952f00fc628d2c6c55655c")
					.alertBody("Hello World").build();
			System.out.println("Sending: " + n.getPayload());
			NotificationResponse result = client.push(n);
			System.out.println(result);

		} catch (UnrecoverableKeyException | KeyManagementException | CertificateException | NoSuchAlgorithmException
				| KeyStoreException | IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} 

Library not in Maven Central

The library is not released to Maven Central or any other publicly available repository, which makes it much harder to use.

If needed, I could assist in such a release.

in spring boot the AsynchronousMode can't work

Spring Boot :: (v1.3.5.RELEASE)

client.push(n, new NotificationResponseListener() can invoke success,but it can not receive from the apns server.
The error description is : err:NotificationResponse{error=null, httpStatusCode=0, responseBody='null', cause=java.util.concurrent.TimeoutException: Total timeout elapsed}

CertificateUtils should support the VoIP message

the method CertificateUtils.validateCertificate does not support the APNs VoIP message

   ` if (!cn.toLowerCase(Locale.US).contains("push")) {
        throw new CertificateException("Not a push certificate - " + cn);
    }`

   ` if (production && cn.toLowerCase(Locale.US).contains("apple development ios push services")) {
        throw new CertificateEnvironmentMismatchException("Invalid environment for this certificate");
    } else if (!production && cn.toLowerCase(Locale.US).contains("apple production ios push services")) {
        throw new CertificateEnvironmentMismatchException("Invalid environment for this certificate");
    }`

it may contains "voip services", not just "push"

Proxy support

It seems apns-http2 library does not support proxy.

I'm working on integration this into an OSGI container and needs to pass HTTP proxy details to make an outbound HTTP/2 call.

Could you please change the builder to accept a proxy ?

If required, I can offer help to make this change.

NotificationResponse{error=null, httpStatusCode=-1, responseBody='null', cause=java.util.concurrent.TimeoutException}

import java.io.;
import com.clevertap.jetty.apns.http2.
;
public class MyMain {
public static void main(String[] args) {
try {
FileInputStream cert = new FileInputStream("~/Documents/apns.p12");
final ApnsClient client = new ApnsClientBuilder()
.withProductionGateway()
.inSynchronousMode()
.withCertificate(cert)
.withPassword("my password")
.build();
client.start();
Notification n = new Notification.Builder("my token")
.alertBody("Hello").build();
NotificationResponse result = client.push(n);
System.out.println(result);
}catch (Exception e){
return;
}
}
}

version

Where can I see the version change description? For example, what are the changes from 1.0.1 to 1.0.3?

JRE 7 Run

java.util.Base64 will be replaced.
Can you run in the JRE 7 environment.

Java 11 java.io.IOException: unexpected end of stream on okhttp3.Address

Servlet Container | Apache Tomcat/9.0.35
Java 11.0.7 (AdoptOpenJDK) 64bit

I'm experiencing the error: unexpected end of stream on okhttp3.Address@6b43b5d8 with synch and asynch requests.

From my understanding in the past with java 8 you would need Jetty's ALPN JAR but with 9 and above you would not.

I am following the instructions on https://github.com/CleverTap/apns-http2/blob/master/README.md.

I don't see any logged errors anywhere except in the response.

NotificationResponse{error=null, httpStatusCode=-1, responseBody='null', cause=java.io.IOException: unexpected end of stream on okhttp3.Address@6b43b5d8}

Is there anything i can do to get more detail on the connection failure?

Thank you.

code response OK ,but the device cannot receive the apns message.

this is my code

`
FileInputStream cert = null;
try {
cert = new FileInputStream("E:/lApns.p12");
final ApnsClient client = new ApnsClientBuilder().withProductionGateway().inSynchronousMode()
.withCertificate(cert).withPassword("xxxxxxx").build();
client.start();
Notification notify = new Notification.Builder(
"a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887").alertBody("welcome").build();

        NotificationResponse resp = client.push(notify);

        System.out.println(resp);
    } catch (Exception e) {

        e.printStackTrace();
    } finally {
        if (cert != null) {
            try {
                cert.close();
            } catch (IOException e) {
            }
        }
    }

`

this is my log. Any idea?

2016-04-27 16:44:02,282 DEBUG (org.eclipse.jetty.io.WriteFlusher:381) - flushed incomplete [HeapByteBuffer@6dac8179[p=0,l=24,c=24,r=24]={<<<PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n>>>},DirectByteBuffer@4ae9a6fe[p=0,l=15,c=1024,r=15]={<<<\x00\x00\x06\x04\x00\x00\x00\x00\x00\x00\x04\x00\x00\xFf\xFf>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}]
2016-04-27 16:44:02,282 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{PENDING}:COMPLETING-->PENDING
2016-04-27 16:44:02,282 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:376) - onIncompleteFlush SslConnection@58341d8d{NEED_UNWRAP,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,6/0,SslConnection}{io=1/1,kio=1,kro=1}]
2016-04-27 16:44:02,282 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:574) - ran org.eclipse.jetty.io.ssl.SslConnection$1@193ad4f
2016-04-27 16:44:02,282 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produced null
2016-04-27 16:44:02,282 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce exit
2016-04-27 16:44:02,283 DEBUG (org.eclipse.jetty.io.WriteFlusher:360) - completeWrite: WriteFlusher@21ab53dd{PENDING}
2016-04-27 16:44:02,283 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{COMPLETING}:PENDING-->COMPLETING
2016-04-27 16:44:02,289 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NEED_UNWRAP,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,3/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,7/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[24]=505249202A20485454502F322E300D0A0D0A534D0D0A0D0A
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NEED_UNWRAP,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,10/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,14/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[15]=00000604000000000000040000FFFF
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:765) - SslConnection@58341d8d{NEED_UNWRAP,eio=-1/0,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,10/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,14/0,SslConnection}{io=1/1,kio=1,kro=1}] wrap Status = OK HandshakeStatus = NEED_UNWRAP bytesConsumed = 0 bytesProduced = 0
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:803) - SslConnection@58341d8d{NEED_UNWRAP,eio=-1/0,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,10/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,14/0,SslConnection}{io=1/1,kio=1,kro=1}] wrap OK b[0]=
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.WriteFlusher:423) - Flushed=false 0/24+1 WriteFlusher@21ab53dd{COMPLETING}
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.WriteFlusher:448) - !fully flushed WriteFlusher@21ab53dd{COMPLETING}
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.WriteFlusher:381) - flushed incomplete [HeapByteBuffer@6dac8179[p=0,l=24,c=24,r=24]={<<<PRI * HTTP/2.0\r\n\r\nSM\r\n\r\n>>>},DirectByteBuffer@4ae9a6fe[p=0,l=15,c=1024,r=15]={<<<\x00\x00\x06\x04\x00\x00\x00\x00\x00\x00\x04\x00\x00\xFf\xFf>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}]
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{PENDING}:COMPLETING-->PENDING
2016-04-27 16:44:02,290 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:376) - onIncompleteFlush SslConnection@58341d8d{NEED_UNWRAP,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,10/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,14/0,SslConnection}{io=1/1,kio=1,kro=1}]
2016-04-27 16:44:02,291 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:210) - onFillable exit DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,11/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,15/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,291 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:215) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 ran SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,15/0,SslConnection}{io=1/1,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,291 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce exit
2016-04-27 16:44:02,291 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:574) - ran EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,415 DEBUG (org.eclipse.jetty.io.ManagedSelector:234) - Selector loop woken up from select, 1/1 selected
2016-04-27 16:44:02,415 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:159) - onSelected 1->0 r=true w=false for SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,139/0,SslConnection}{io=1/0,kio=1,kro=1}
2016-04-27 16:44:02,415 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:186) - task SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,139/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,415 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produced SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,139/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,415 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:206) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 dispatch
2016-04-27 16:44:02,415 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:373) - queue EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:212) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 run SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,139/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:571) - run EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:125) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 run
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:154) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce enter
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:160) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 producing
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:214) - Key interests updated 1 -> 0 on SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,140/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.io.ManagedSelector:231) - Selector loop waiting on select
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.io.FillInterest:93) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NEED_UNWRAP,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,136/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,140/0,SslConnection}{io=0/0,kio=0,kro=1}]}} fillable AC.ReadCB@58341d8d{SslConnection@58341d8d{NEED_UNWRAP,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,136/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,140/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,416 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:189) - onFillable enter DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,136/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,140/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.io.FillInterest:93) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,136/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,140/0,SslConnection}{io=0/0,kio=0,kro=1}]}} fillable AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,P,136/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,140/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:96) - HTTP2 onFillable HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,137/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,141/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:76) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 execute
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:154) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce enter
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:160) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 producing
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:151) - Dequeued task null
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 113 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,141/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,417 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NEED_UNWRAP,eio=107/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,137/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}] net=113 unwrap Status = OK HandshakeStatus = NEED_UNWRAP bytesConsumed = 6 bytesProduced = 0
2016-04-27 16:44:02,418 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NEED_UNWRAP,eio=107/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,137/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,418 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=62/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,138/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] net=113 unwrap Status = OK HandshakeStatus = FINISHED bytesConsumed = 45 bytesProduced = 0
2016-04-27 16:44:02,418 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=62/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,138/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,418 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:596) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=62/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,138/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] client handshook TLSv1.2/TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
2016-04-27 16:44:02,419 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=33} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,139/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}] net=113 unwrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 62 bytesProduced = 33
2016-04-27 16:44:02,419 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=33} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,P,139/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,419 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:373) - queue org.eclipse.jetty.io.ssl.SslConnection$1@193ad4f
2016-04-27 16:44:02,419 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 33 bytes
2016-04-27 16:44:02,420 DEBUG (org.eclipse.jetty.http2.parser.Parser:137) - Parsed SETTINGS frame header from java.nio.HeapByteBuffer[pos=9 lim=33 cap=16384]
2016-04-27 16:44:02,420 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:571) - run org.eclipse.jetty.io.ssl.SslConnection$1@193ad4f
2016-04-27 16:44:02,420 DEBUG (org.eclipse.jetty.http2.parser.SettingsBodyParser:118) - setting 1=4096
2016-04-27 16:44:02,420 DEBUG (org.eclipse.jetty.http2.parser.SettingsBodyParser:118) - setting 3=500
2016-04-27 16:44:02,420 DEBUG (org.eclipse.jetty.http2.parser.SettingsBodyParser:118) - setting 5=16384
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.parser.SettingsBodyParser:118) - setting 6=8000
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Session:242) - Received SettingsFrame@295d7e5e,reply=false:{1=4096, 3=500, 5=16384, 6=8000}
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Session:257) - Update HPACK header table size to 4096
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Session:276) - Update max local concurrent streams to 500
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Session:289) - Update max frame size to 16384
2016-04-27 16:44:02,421 WARN (org.eclipse.jetty.http2.HTTP2Session:302) - NOT IMPLEMENTED max header list size to 8000
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Session:618) - Sending SettingsFrame@4e26cdee,reply=true:{}
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:106) - Appended SettingsFrame@4e26cdee,reply=true:{}, frames=1
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.parser.Parser:186) - Parsed SETTINGS frame body from java.nio.HeapByteBuffer[pos=33 lim=33 cap=16384]
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:170) - Dequeued task null
2016-04-27 16:44:02,420 DEBUG (org.eclipse.jetty.io.WriteFlusher:360) - completeWrite: WriteFlusher@21ab53dd{PENDING}
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{COMPLETING}:PENDING-->COMPLETING
2016-04-27 16:44:02,421 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 0 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,4/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,422 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,C,142/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}] net=0 unwrap Status = BUFFER_UNDERFLOW HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 0 bytesProduced = 0
2016-04-27 16:44:02,422 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,C,142/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,422 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 0 bytes
2016-04-27 16:44:02,422 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,C,142/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}] flush b[24]=505249202A20485454502F322E300D0A0D0A534D0D0A0D0A
2016-04-27 16:44:02,422 DEBUG (org.eclipse.jetty.io.AbstractConnection:141) - fillInterested HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,C,142/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,422 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,C,142/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}] flush b[15]=00000604000000000000040000FFFF
2016-04-27 16:44:02,423 DEBUG (org.eclipse.jetty.io.FillInterest:63) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,423 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:765) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/68,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}] wrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 39 bytesProduced = 68
2016-04-27 16:44:02,423 DEBUG (org.eclipse.jetty.io.FillInterest:77) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,423 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:803) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/68,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}] wrap OK b[68]=170303003F0000000000000001E7DBF8396CF7130BFBA3DCE8...DDB1CDC25CA135
2016-04-27 16:44:02,423 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:193) - flushed 68 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,424 DEBUG (org.eclipse.jetty.io.AbstractConnection:141) - fillInterested SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,424 DEBUG (org.eclipse.jetty.io.FillInterest:63) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,425 DEBUG (org.eclipse.jetty.io.WriteFlusher:423) - Flushed=true 24/24+1 WriteFlusher@21ab53dd{COMPLETING}
2016-04-27 16:44:02,425 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{IDLE}:COMPLETING-->IDLE
2016-04-27 16:44:02,426 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:268) - Written 2 frames for [PrefaceFrame@68ac2624, SettingsFrame@24509427,reply=false:{4=65535}]
2016-04-27 16:44:02,426 DEBUG (org.eclipse.jetty.io.FillInterest:77) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,C,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,4/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,426 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:248) - changeInterests p=false 0->1 for SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=0/1,kio=0,kro=1}
2016-04-27 16:44:02,426 DEBUG (org.eclipse.jetty.io.ManagedSelector:116) - Queued change SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=0/1,kio=0,kro=1}:runUpdateKey on org.eclipse.jetty.io.ManagedSelector@33f88ab id=0 keys=1 selected=0
2016-04-27 16:44:02,426 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produced null
2016-04-27 16:44:02,426 DEBUG (org.eclipse.jetty.io.ManagedSelector:234) - Selector loop woken up from select, 0/1 selected
2016-04-27 16:44:02,427 DEBUG (org.eclipse.jetty.io.ManagedSelector:214) - Running change SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,3/0,SslConnection}{io=0/1,kio=0,kro=1}:runUpdateKey
2016-04-27 16:44:02,427 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:214) - Key interests updated 0 -> 1 on SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,3/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,427 DEBUG (org.eclipse.jetty.io.ManagedSelector:231) - Selector loop waiting on select
2016-04-27 16:44:02,427 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce exit
2016-04-27 16:44:02,428 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:210) - onFillable exit DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,5/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,3/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,428 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:215) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 ran SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,4/0,SslConnection}{io=1/1,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,428 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce exit
2016-04-27 16:44:02,428 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:574) - ran EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,428 DEBUG (org.eclipse.jetty.client.HttpDestination:122) - Processing 1/500 HttpExchange@61b7f85a req=PENDING/null@null res=PENDING/null@null on HttpConnectionOverHTTP2@5a5d00ec[HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=1,sendWindow=65535,recvWindow=65535,streams=0,NOT_CLOSED}]
2016-04-27 16:44:02,432 DEBUG (org.eclipse.jetty.client.HttpChannel:69) - HttpExchange@61b7f85a req=PENDING/null@null res=PENDING/null@null associated true to HttpChannelOverHTTP2@1fd693ba(exchange=HttpExchange@61b7f85a req=PENDING/null@null res=PENDING/null@null)
2016-04-27 16:44:02,432 DEBUG (org.eclipse.jetty.client.HttpSender:219) - Request begin HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
2016-04-27 16:44:02,433 DEBUG (org.eclipse.jetty.client.HttpSender:237) - Request headers HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
Accept-Encoding: gzip
User-Agent: Jetty/9.3.7.v20160115
content-length: 36
Host: api.push.apple.com
Content-Type: text/plain;charset=UTF-8
2016-04-27 16:44:02,435 DEBUG (org.eclipse.jetty.http2.HTTP2Session:646) - Created local HTTP2Stream@4e92edce#1{sendWindow=65535,recvWindow=65535,reset=false,NOT_CLOSED}
2016-04-27 16:44:02,435 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:106) - Appended HeadersFrame@3789e8cb#1{end=false}, frames=2
2016-04-27 16:44:02,435 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:137) - Flushing HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=2,sendWindow=65535,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:214) - Gathered for write SettingsFrame@4e26cdee,reply=true:{}
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:214) - Gathered for write HeadersFrame@3789e8cb#1{end=false}
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.HTTP2Session:1057) - Generated SettingsFrame@4e26cdee,reply=true:{}
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:127) - CtxTbl[5c295614] encoding
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode IdxFieldS1:':scheme: https' to '87'
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode IdxFieldS1:':method: POST' to '83'
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[5c295614] added {D,0,:authority: api.push.apple.com:443,6d8ded70}
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[5c295614] entries=1, size=64, max=4096
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS1HuffVIdx:':authority: api.push.apple.com:443' to '41901d665eBb513aE3AeBa0aB90f4dC69a67'
2016-04-27 16:44:02,436 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[5c295614] added {D,1,:path: /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887,32cabd3d}
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[5c295614] entries=2, size=175, max=4096
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS1HuffVIdx:':path: /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887' to '44B56196242f7310Ac0c01900e3c594607C6F8Db8e4134D8590b6e342138Db2eC61788513f1cAd0dF037236265C0C71bA17c6dC6F3CeFf'
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[5c295614] added {D,2,Accept-Encoding: gzip,4a7dc41f}
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[5c295614] entries=3, size=226, max=4096
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS1HuffVIdx:'Accept-Encoding: gzip' to '50839bD9Ab'
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[5c295614] added {D,3,User-Agent: Jetty/9.3.7.v20160115,42c44ee7}
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[5c295614] entries=4, size=289, max=4096
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS1HuffVIdx:'User-Agent: Jetty/9.3.7.v20160115' to '7a8fCa54A7D30fAeCaEeAfDc400b80085b'
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS2HuffV!Idx:'content-length: 36' to '0f0d8265Cf'
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[5c295614] added {D,4,Host: api.push.apple.com,4770b7b8}
2016-04-27 16:44:02,437 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[5c295614] entries=5, size=343, max=4096
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS1HuffVIdx:'Host: api.push.apple.com' to '668d1d665eBb513aE3AeBa0aB90f4f'
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[5c295614] added {D,5,Content-Type: text/plain;charset=UTF-8,301706c}
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[5c295614] entries=6, size=411, max=4096
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:310) - encode LitIdxNS1HuffVIdx:'Content-Type: text/plain;charset=UTF-8' to '5f92497cA58aE819AaFb24E3B1054c1c37E159Ef'
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.hpack.HpackEncoder:164) - CtxTbl[5c295614] encoded 137 octets
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.HTTP2Session:1057) - Generated HeadersFrame@3789e8cb#1{end=false}
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:252) - Writing 3 buffers (155 bytes) for 2 frames [SettingsFrame@4e26cdee,reply=true:{}, HeadersFrame@3789e8cb#1{end=false}]
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.io.WriteFlusher:306) - write: WriteFlusher@21ab53dd{IDLE} [DirectByteBuffer@4ae9a6fe[p=0,l=9,c=1024,r=9]={<<<\x00\x00\x00\x04\x01\x00\x00\x00\x00>>>\x00\x04\x00\x00\xFf\xFf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00},DirectByteBuffer@4819c63d[p=0,l=9,c=1024,r=9]={<<<\x00\x00\x89\x01\x04\x00\x00\x00\x01>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00},HeapByteBuffer@a9675f1[p=0,l=137,c=16384,r=137]={<<<\x87\x83A\x90\x1df^\xBbQ:\xE3\xAe\xBa\n\xB9\x0fM...\x8a\xE8\x19\xAa\xFb$\xE3\xB1\x05L\x1c7\xE1Y\xEf>>>\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00}]
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{WRITING}:IDLE-->WRITING
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,16/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,14/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[9]=000000040100000000
2016-04-27 16:44:02,438 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,16/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,14/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[9]=000089010400000001
2016-04-27 16:44:02,439 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,17/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,15/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[137]=878341901D665EBB513AE3AEBA0AB90F4DC69A6744B5619624...054C1C37E159EF
2016-04-27 16:44:02,439 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:765) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/184,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,17/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,15/0,SslConnection}{io=1/1,kio=1,kro=1}] wrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 155 bytesProduced = 184
2016-04-27 16:44:02,439 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:803) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/184,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,17/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,15/0,SslConnection}{io=1/1,kio=1,kro=1}] wrap OK b[184]=17030300B300000000000000020C9AA8AA0C3755F91C0A7B47...FD611C1E84C1FA
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:193) - flushed 184 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,16/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.io.WriteFlusher:423) - Flushed=true 9/9+2 WriteFlusher@21ab53dd{WRITING}
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{IDLE}:WRITING-->IDLE
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:268) - Written 2 frames for [SettingsFrame@4e26cdee,reply=true:{}, HeadersFrame@3789e8cb#1{end=false}]
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.http2.HTTP2Stream:295) - Update close for HTTP2Stream@4e92edce#1{sendWindow=65535,recvWindow=65535,reset=false,NOT_CLOSED} close=false local=true
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.client.HttpContent:155) - Advanced content to last chunk java.nio.HeapByteBuffer[pos=0 lim=36 cap=36]
2016-04-27 16:44:02,440 DEBUG (org.eclipse.jetty.http2.HTTP2Session:618) - Sending DataFrame@387bd658#1{length:36,end=true}
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:106) - Appended DataFrame@387bd658#1{length:36,end=true}, frames=1
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:137) - Flushing HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=1,sendWindow=65535,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:214) - Gathered for write DataFrame@387bd658#1{length:36,end=true}
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.HTTP2Session:1193) - Generated DataFrame@387bd658#1{length:36,end=true}, length/window=36/65535
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.FlowControlStrategy:167) - Sending, session send window 65535 -> 65499 for HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=0,sendWindow=65499,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.FlowControlStrategy:174) - Sending, stream send window 65535 -> 65499 for HTTP2Stream@4e92edce#1{sendWindow=65499,recvWindow=65535,reset=false,NOT_CLOSED}
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:252) - Writing 2 buffers (45 bytes) for 1 frames [DataFrame@387bd658#1{length:36,end=true}]
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.io.WriteFlusher:306) - write: WriteFlusher@21ab53dd{IDLE} [DirectByteBuffer@4ae9a6fe[p=0,l=9,c=1024,r=9]={<<<\x00\x00$\x00\x01\x00\x00\x00\x01>>>\x00\x04\x00\x00\xFf\xFf\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00...\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00},HeapByteBuffer@1fb155b[p=0,l=36,c=36,r=36]={<<<{"aps":{"alert":{...y":"welcome"}}}>>>}]
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{WRITING}:IDLE-->WRITING
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[9]=000024000100000001
2016-04-27 16:44:02,441 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:734) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=1/1,kio=1,kro=1}] flush b[36]=7B22617073223A7B22616C657274223A7B22626F6479223A22...6F6D65227D7D7D
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:765) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/74,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,20/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=1/1,kio=1,kro=1}] wrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 45 bytesProduced = 74
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:803) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/74,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,W,20/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=1/1,kio=1,kro=1}] wrap OK b[74]=1703030045000000000000000346759F8FC615A891ABC50EC6...E6F852C53AB6E2
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:193) - flushed 74 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.io.WriteFlusher:423) - Flushed=true 9/9+1 WriteFlusher@21ab53dd{WRITING}
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.io.WriteFlusher:117) - update WriteFlusher@21ab53dd{IDLE}:WRITING-->IDLE
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:268) - Written 1 frames for [DataFrame@387bd658#1{length:0,end=true}]
2016-04-27 16:44:02,442 DEBUG (org.eclipse.jetty.http2.HTTP2Stream:295) - Update close for HTTP2Stream@4e92edce#1{sendWindow=65499,recvWindow=65535,reset=false,NOT_CLOSED} close=true local=true
2016-04-27 16:44:02,443 DEBUG (org.eclipse.jetty.client.HttpSender:255) - Request committed HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
2016-04-27 16:44:02,443 DEBUG (org.eclipse.jetty.client.HttpSender:279) - Request content HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
HeapByteBuffer@3ba7db3e[p=0,l=36,c=36,r=36]={<<<{"aps":{"alert":{...y":"welcome"}}}>>>}
2016-04-27 16:44:02,443 DEBUG (org.eclipse.jetty.client.HttpContent:165) - Advanced content past last chunk
2016-04-27 16:44:02,443 DEBUG (org.eclipse.jetty.client.HttpSender:816) - Content present false, last true, consumed true for HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
2016-04-27 16:44:02,443 DEBUG (org.eclipse.jetty.client.HttpSender:316) - Request success HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
2016-04-27 16:44:02,443 DEBUG (org.eclipse.jetty.client.HttpExchange:193) - Terminated request for HttpExchange@61b7f85a req=TERMINATED/null@null res=PENDING/null@null, result: null
2016-04-27 16:44:02,444 DEBUG (org.eclipse.jetty.client.HttpSender:363) - Terminating request HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a
2016-04-27 16:44:02,444 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:137) - Flushing HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=0,sendWindow=65499,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,444 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:233) - Flushed HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=0,sendWindow=65499,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,444 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:137) - Flushing HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=0,sendWindow=65499,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,444 DEBUG (org.eclipse.jetty.http2.HTTP2Flusher:233) - Flushed HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=0,sendWindow=65499,recvWindow=65535,streams=1,NOT_CLOSED}
2016-04-27 16:44:02,444 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:574) - ran org.eclipse.jetty.io.ssl.SslConnection$1@193ad4f
2016-04-27 16:44:02,595 DEBUG (org.eclipse.jetty.io.ManagedSelector:234) - Selector loop woken up from select, 1/1 selected
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:159) - onSelected 1->0 r=true w=false for SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:186) - task SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produced SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:206) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 dispatch
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:373) - queue EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:212) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 run SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.io.FillInterest:93) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,174/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}]}} fillable AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,174/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}]}
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:189) - onFillable enter DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,174/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.io.FillInterest:93) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,174/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,154/0,SslConnection}{io=1/0,kio=1,kro=1}]}} fillable AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,175/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,155/0,SslConnection}{io=1/0,kio=1,kro=1}]}
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:96) - HTTP2 onFillable HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,175/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,155/0,SslConnection}{io=1/0,kio=1,kro=1}]
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:76) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 execute
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:154) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce enter
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:160) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 producing
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:151) - Dequeued task null
2016-04-27 16:44:02,596 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:571) - run EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 38 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,155/0,SslConnection}{io=1/0,kio=1,kro=1}
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:125) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 run
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:154) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce enter
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:160) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 producing
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:214) - Key interests updated 1 -> 0 on SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.io.ManagedSelector:231) - Selector loop waiting on select
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=9} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,175/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}] net=38 unwrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 38 bytesProduced = 9
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=9} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,175/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,597 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 9 bytes
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.http2.parser.Parser:137) - Parsed SETTINGS frame header from java.nio.HeapByteBuffer[pos=9 lim=9 cap=16384]
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.http2.HTTP2Session:242) - Received SettingsFrame@5a99afa9,reply=true:{}
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.http2.parser.Parser:186) - Parsed SETTINGS frame body from java.nio.HeapByteBuffer[pos=9 lim=9 cap=16384]
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:170) - Dequeued task null
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 0 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,176/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] net=0 unwrap Status = BUFFER_UNDERFLOW HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 0 bytesProduced = 0
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,176/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 0 bytes
2016-04-27 16:44:02,598 DEBUG (org.eclipse.jetty.io.AbstractConnection:141) - fillInterested HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,176/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,599 DEBUG (org.eclipse.jetty.io.FillInterest:63) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,599 DEBUG (org.eclipse.jetty.io.FillInterest:77) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,599 DEBUG (org.eclipse.jetty.io.AbstractConnection:141) - fillInterested SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,2/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,599 DEBUG (org.eclipse.jetty.io.FillInterest:63) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,599 DEBUG (org.eclipse.jetty.io.FillInterest:77) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,599 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:248) - changeInterests p=false 0->1 for SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/1,kio=0,kro=1}
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.io.ManagedSelector:116) - Queued change SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}:runUpdateKey on org.eclipse.jetty.io.ManagedSelector@33f88ab id=0 keys=1 selected=0
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produced null
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce exit
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:210) - onFillable exit DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:215) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 ran SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}:runFillable
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce exit
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:574) - ran EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.io.ManagedSelector:234) - Selector loop woken up from select, 0/1 selected
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.io.ManagedSelector:214) - Running change SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}:runUpdateKey
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:214) - Key interests updated 0 -> 1 on SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,600 DEBUG (org.eclipse.jetty.io.ManagedSelector:231) - Selector loop waiting on select
2016-04-27 16:44:02,616 DEBUG (org.eclipse.jetty.io.ManagedSelector:234) - Selector loop woken up from select, 1/1 selected
2016-04-27 16:44:02,616 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:159) - onSelected 1->0 r=true w=false for SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,17/0,SslConnection}{io=1/0,kio=1,kro=1}
2016-04-27 16:44:02,616 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:186) - task SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,17/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produced SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,18/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:206) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 dispatch
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:373) - queue EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:212) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 run SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,18/0,SslConnection}{io=1/0,kio=1,kro=1}:runFillable
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:571) - run EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:125) - EPR Pend/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 run
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:154) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce enter
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.io.FillInterest:93) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,18/0,SslConnection}{io=1/0,kio=1,kro=1}]}} fillable AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,18/0,SslConnection}{io=1/0,kio=1,kro=1}]}
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:160) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 producing
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:189) - onFillable enter DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,18/0,SslConnection}{io=1/0,kio=1,kro=1}
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:214) - Key interests updated 1 -> 0 on SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,18/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.io.ManagedSelector:231) - Selector loop waiting on select
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.io.FillInterest:93) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,18/0,SslConnection}{io=0/0,kio=0,kro=1}]}} fillable AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,18/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:96) - HTTP2 onFillable HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,19/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,18/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:76) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 execute
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:154) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce enter
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:160) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 producing
2016-04-27 16:44:02,617 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:151) - Dequeued task null
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 104 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,18/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=66/-1,di=9} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,20/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}] net=104 unwrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 38 bytesProduced = 9
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=66/-1,di=9} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,20/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 9 bytes
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.http2.parser.Parser:137) - Parsed HEADERS frame header from java.nio.HeapByteBuffer[pos=9 lim=9 cap=16384]
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:170) - Dequeued task null
2016-04-27 16:44:02,618 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 0 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}
2016-04-27 16:44:02,619 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=37} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,21/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] net=0 unwrap Status = OK HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 66 bytesProduced = 37
2016-04-27 16:44:02,619 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=37} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,21/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,1/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,619 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 37 bytes
2016-04-27 16:44:02,619 DEBUG (org.eclipse.jetty.http2.hpack.HpackDecoder:72) - CtxTbl[7b5d3b8f] decoding 37 octets
2016-04-27 16:44:02,619 DEBUG (org.eclipse.jetty.http2.hpack.HpackDecoder:85) - decode 8840851d752163499cC176Fb57DfC0Fa...
2016-04-27 16:44:02,619 DEBUG (org.eclipse.jetty.http2.hpack.HpackDecoder:103) - decode IdxStatic {S,8,:status: 200(evaluated),6e51b3a3}
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.hpack.HpackDecoder:85) - decode 40851d752163499cC176Fb57DfC0FaC2...
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.hpack.HpackDecoder:239) - decoded 'apns-id: EBD4D9E9-21C2-15ED-70F7-377AAA3D578D' by HuffName/HuffVal/Idx
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:273) - HdrTbl[7b5d3b8f] added {D,0,apns-id: EBD4D9E9-21C2-15ED-70F7-377AAA3D578D,6d51264e}
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.hpack.HpackContext:337) - HdrTbl[7b5d3b8f] entries=1, size=75, max=4096
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.parser.BodyParser:179) - Parsed HEADERS frame hpack from java.nio.HeapByteBuffer[pos=37 lim=37 cap=16384]
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.client.HTTP2ClientSession:48) - Received HeadersFrame@e7e4cec#1{end=true}
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.HTTP2Stream:295) - Update close for HTTP2Stream@4e92edce#1{sendWindow=65499,recvWindow=65535,reset=false,LOCALLY_CLOSED} close=true local=false
2016-04-27 16:44:02,620 DEBUG (org.eclipse.jetty.http2.HTTP2Session:713) - Removed local HTTP2Stream@4e92edce#1{sendWindow=65499,recvWindow=65535,reset=false,CLOSED}
2016-04-27 16:44:02,621 DEBUG (org.eclipse.jetty.client.HttpReceiver:129) - Response begin HttpResponse[HTTP/2.0 200 null]@620d0a64
2016-04-27 16:44:02,621 DEBUG (org.eclipse.jetty.client.HttpReceiver:255) - Response headers HttpResponse[HTTP/2.0 200 null]@620d0a64
apns-id: EBD4D9E9-21C2-15ED-70F7-377AAA3D578D
2016-04-27 16:44:02,622 DEBUG (org.eclipse.jetty.client.HttpReceiver:388) - Response success HttpResponse[HTTP/2.0 200 null]@620d0a64
2016-04-27 16:44:02,622 DEBUG (org.eclipse.jetty.client.HttpExchange:210) - Terminated response for HttpExchange@61b7f85a req=TERMINATED/null@null res=TERMINATED/null@null, result: Result[HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a > HttpResponse[HTTP/2.0 200 null]@620d0a64] null
2016-04-27 16:44:02,622 DEBUG (org.eclipse.jetty.client.HttpReceiver:443) - Response complete HttpResponse[HTTP/2.0 200 null]@620d0a64
2016-04-27 16:44:02,622 DEBUG (org.eclipse.jetty.client.HttpChannel:89) - HttpExchange@61b7f85a req=TERMINATED/null@null res=TERMINATED/null@null disassociated true from HttpChannelOverHTTP2@1fd693ba(exchange=null)
2016-04-27 16:44:02,622 DEBUG (org.eclipse.jetty.client.HttpDestination:122) - Processing 1/500 null on HttpConnectionOverHTTP2@5a5d00ec[HTTP2ClientSession@2f21086a{l:/192.168.10.80:19289 <-> r:api.push.apple.com/17.110.227.88:443,queueSize=0,sendWindow=65499,recvWindow=65535,streams=0,NOT_CLOSED}]
2016-04-27 16:44:02,623 DEBUG (org.eclipse.jetty.client.HttpReceiver:451) - Request/Response succeeded: Result[HttpRequest[POST /3/device/a01d068efa09a9a5bd245131564226537b18ce29bf4a905d52361bb719a5b887 HTTP/1.1]@65466a6a > HttpResponse[HTTP/2.0 200 null]@620d0a64] null
2016-04-27 16:44:02,623 DEBUG (org.eclipse.jetty.http2.parser.Parser:186) - Parsed HEADERS frame body from java.nio.HeapByteBuffer[pos=37 lim=37 cap=16384]
2016-04-27 16:44:02,623 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:170) - Dequeued task null
2016-04-27 16:44:02,623 DEBUG (org.eclipse.jetty.io.ChannelEndPoint:147) - filled 0 SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,5/0,SslConnection}{io=0/0,kio=0,kro=1}
NotificationResponse{error=null, httpStatusCode=200, responseBody='null', cause=null}
2016-04-27 16:44:02,624 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:534) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,26/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}] net=0 unwrap Status = BUFFER_UNDERFLOW HandshakeStatus = NOT_HANDSHAKING bytesConsumed = 0 bytesProduced = 0
2016-04-27 16:44:02,624 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:535) - SslConnection@58341d8d{NOT_HANDSHAKING,eio=0/-1,di=0} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,26/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}] filled b[0]=
2016-04-27 16:44:02,624 DEBUG (org.eclipse.jetty.http2.HTTP2Connection:180) - Filled 0 bytes
2016-04-27 16:44:02,624 DEBUG (org.eclipse.jetty.io.AbstractConnection:141) - fillInterested HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,26/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,624 DEBUG (org.eclipse.jetty.io.FillInterest:63) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,624 DEBUG (org.eclipse.jetty.io.FillInterest:77) - FillInterest@ad2b270{true,AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@5f569563{HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,6/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.io.AbstractConnection:141) - fillInterested SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,-,-,7/0,SslConnection}{io=0/0,kio=0,kro=1}]
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.io.FillInterest:63) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.io.FillInterest:77) - FillInterest@16379fb0{true,AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}} register AC.ReadCB@58341d8d{SslConnection@58341d8d{NOT_HANDSHAKING,eio=-1/-1,di=-1} -> HTTP2ClientConnection@5f569563[DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/0,kio=0,kro=1}]}
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:248) - changeInterests p=false 0->1 for SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/1,kio=0,kro=1}
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.io.ManagedSelector:116) - Queued change SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,0/0,SslConnection}{io=0/1,kio=0,kro=1}:runUpdateKey on org.eclipse.jetty.io.ManagedSelector@33f88ab id=0 keys=1 selected=0
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:165) - EPR Prod/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produced null
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.io.ManagedSelector:234) - Selector loop woken up from select, 0/1 selected
2016-04-27 16:44:02,625 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Idle/org.eclipse.jetty.http2.HTTP2Connection$HTTP2Producer@10154ce5 produce exit
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.io.ssl.SslConnection:210) - onFillable exit DecryptedEndPoint@79f09be0{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,2/0,HTTP2ClientConnection}->SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:215) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 ran SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}:runFillable
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume:228) - EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462 produce exit
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.util.thread.QueuedThreadPool:574) - ran EPR Prod/org.eclipse.jetty.io.ManagedSelector$SelectorProducer@e267462
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.io.ManagedSelector:214) - Running change SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=0/1,kio=0,kro=1}:runUpdateKey
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.io.SelectChannelEndPoint:214) - Key interests updated 0 -> 1 on SelectChannelEndPoint@629c85ae{api.push.apple.com/17.110.227.88:443<->19289,Open,in,out,FI,-,1/0,SslConnection}{io=1/1,kio=1,kro=1}
2016-04-27 16:44:02,626 DEBUG (org.eclipse.jetty.io.ManagedSelector:231) - Selector loop waiting on select

alpn-boot jar causing conflict with jdbc (Oracle) connection

I am using a Docker environment to build my Play 2.5.x (Scala 2.11.11) server where from the server I connect to AWS RDS Oracle instance Version 12.1.0.1. When I add alpn-boot (alpn-boot-8.1.13.v20181017.jar) jar to Java boot classpath (required by apns-http2) I observe that sometimes my server can't connect to RDS instance. It does not happen always but happens intermittently. I am using "ojdbc7.jar" for Oracle JDBC driver. ‘alpn’ stands for Application Layer Protocol negotiation and this jar is needed for connecting as client over HTTP/2 to a remote server (Refer: http://www.eclipse.org/jetty/documentation/current/alpn-chapter.html).
I use JVM option "-J-Xbootclasspath/p:lib/alpn-boot-8.1.13.v20181017.jar" to add the jar to boot classpath.
Has anyone observed such kind of issue ?

Illegal base64 character when decode pem file

Hi
I get the following error when I try to use your library with a pem file (PKCS8).

Exception in thread "main" java.lang.IllegalArgumentException: Illegal base64 character a
at java.util.Base64$Decoder.decode0(Base64.java:714)
at java.util.Base64$Decoder.decode(Base64.java:526)
at com.clevertap.apns.internal.JWT.ES256(JWT.java:70)
at com.clevertap.apns.internal.JWT.getToken(JWT.java:60)
at com.clevertap.apns.clients.SyncOkHttpApnsClient.buildRequest(SyncOkHttpApnsClient.java:222)
at com.clevertap.apns.clients.AsyncOkHttpApnsClient.push(AsyncOkHttpApnsClient.java:87)

Any idea how to fix it?

Getting Exception while running with OKhttp3 + No notification

Exception in thread "main" java.io.IOException: unexpected end of stream on okhttp3.Address@5106fe42
    at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:199)
    at okhttp3.internal.http.Http1xStream.readResponseHeaders(Http1xStream.java:125)
    at okhttp3.internal.http.HttpEngine.readNetworkResponse(HttpEngine.java:723)
    at okhttp3.internal.http.HttpEngine.access$200(HttpEngine.java:81)
    at okhttp3.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:708)
    at okhttp3.internal.http.HttpEngine.readResponse(HttpEngine.java:563)
    at okhttp3.RealCall.getResponse(RealCall.java:241)
    at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:198)
    at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:160)
    at okhttp3.RealCall.execute(RealCall.java:57)
    at com.clevertap.jetty.apns.http2.clients.SyncOkHttpApnsClient.main(SyncOkHttpApnsClient.java:229)
Caused by: java.io.EOFException: \n not found: size=176 content=0000180400000000000001000010000003000001c4000500004000000600001f...
    at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:201)
    at okhttp3.internal.http.Http1xStream.readResponse(Http1xStream.java:184)
    ... 10 more

We tried it with builder pattern you had provided, also we tried to use directly the constructor itself and then client private from SyncOkHttpApnsClient.java. But both produced same results.

final ApnsClient apnsClient = new ApnsClientBuilder()
        .withProductionGateway()
        .inSynchronousMode()
        .withCertificate(cert)
        .withPassword("pass")
        .withOkHttp3()
        .build();
Notification notification = new  Notification.Builder(token).alertBody("Example!015").sound("default").build();
NotificationResponse response = apnsClient.push(notification);

We also had same exception when we tried to use OkHttp. Any kind of help will be much appreciated.

Request request = new Request.Builder()
              .url("https://api.push.apple.com:443/3/device/{token}")
              .post(body).header("apns-priority","10")
              .build();
          Response response = apnsClient.client.newCall(request).execute();
          System.out.println(response);

java.io.IOException: unexpected end of stream on Connection

got an error when pushed
java.io.IOException: unexpected end of stream on Connection{api.development.push.apple.com:443, proxy=DIRECT hostAddress=api.development.push.apple.com/17.188.166.27:443 cipherSuite=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 protocol=http/1.1}

Caused by: java.io.EOFException: \n not found: limit=159 content=000018040000000000000100001000000300000001000500004000000600001f…

this is my pom.xml
pom.txt

Unable to extract the trust manager

Hi - Thanks for the library. Really good one.

I'm trying to run the code on IBM WAS 8.5.5 and am receiving an exception. Details below. Can you pls help me on how to address this? Am trying with Synchronous mode of sending push message. Pls let me know if you need more details.

Caused by: java.lang.IllegalStateException: Unable to extract the trust manager on okhttp3.internal.Platform$JdkWithJettyBootPlatform@aeaa4bd5, sslSocketFactory is class com.ibm.jsse2.SSLSocketFactoryImpl
        at okhttp3.OkHttpClient.<init>(OkHttpClient.java:187)
        at okhttp3.OkHttpClient.<init>(OkHttpClient.java:60)
        at okhttp3.OkHttpClient$Builder.build(OkHttpClient.java:718)
        at com.clevertap.apns.clients.SyncOkHttpApnsClient.<init>(SyncOkHttpApnsClient.java:79)

java.io.IOException: unexpected end of stream on okhttp3.Address@6c773ddd

My code:

    FileInputStream cert;
    ApnsClient client = null;
    try {
        cert = new FileInputStream("./src/main/resources/data/prod.p12");

        client = new ApnsClientBuilder()
                .withProductionGateway()
                .inSynchronousMode()
                .withCertificate(cert)
                .withPassword("12345")
                .withDefaultTopic("topic")
                .build();
    } catch (Exception e) {
        e.printStackTrace();
    }

    ApnsClient finalClient = client;
    List<NotificationResponse> results = Arrays.stream(dto.getPushIds())
            .map(t -> Objects.requireNonNull(finalClient).push(new Notification.Builder(t)
                    .alertBody("test")
                    .alertTitle("test")
                    .badge(3)
                    .build()))
            .collect(Collectors.toList());

I reseive:

NotificationResponse:
error = null
httpStatusCode = -1
responseBody = null
cause = java.io.IOException: unexpected end of stream on okhttp3.Address@6c773ddd
'-----> cause = java.io.EOFException: \n not found: size=247 content=0000180400000000000001000010000003000003e8000500004000000600001f...

com.clevertap.apns.exceptions.CertificateEnvironmentMismatchException: Invalid environment for this certificate

I'm getting this error when try to use the production gateway.

I've found that these are the lines that throw this error(in CertificateUtils.java)

if (production && cn.toLowerCase().contains("apple development ios push services")) {
    throw new CertificateEnvironmentMismatchException("Invalid environment for this certificate");
} else if (!production && cn.toLowerCase().contains("apple production ios push services")) {
    throw new CertificateEnvironmentMismatchException("Invalid environment for this certificate");
}

it seem CN value for the production certificate has recently changed. It is now 'apple development ios push services' for both production and development certificates.

Upon further investigation I've also come across this SO answer:

Apple have changed the name of the certificate that is issued. You can now use the same certificate for both development and production. While you can still request a development only certificate you can no longer request a production only certificate.

Since the purpose of the certificate is no longer production only Apple has changed the common name to Apple Push Services. The functionality of the certificate is not affected.

Unfortunately services that validate the CN of the certificate may reject this new name. There is nothing you can do about this until the service updates its verification code. For example, Parse.com had this issue a few days ago but their verification code has now been updated and they will now accept the new certificate name.

It'd be really helpful if you could update the library.

unexpected end of stream on Connection{api.push.apple.com:443, proxy=DIRECT hostAddress=api.push.apple.com

It dose not work when I code like this,and I found a problem,it seems that initialization is slow and the responese is "....unexpected end of stream on Connection..."

		String distr = "C:\\Users\\KY\\Desktop\\tmp\\my_distr_apns_180205.p12";

				 String token = "4e13279f3ae16874717afcb5399b706f16a03cf9ceda4c51de702df986099e47";


		FileInputStream cert = new FileInputStream(distr);
		final ApnsClient client = new ApnsClientBuilder()
				.withProductionGateway()
				.inSynchronousMode()
				.withCertificate(cert)
				.withPassword("mypwd")
				.withDefaultTopic("topic")
				.build();

		Notification n = new Notification.Builder(token)
				.alertBody("hello").build();

		NotificationResponse response = client.push(n);
		System.out.println(response);

but I use this https://github.com/notnoop/java-apns, it dose work.

JDK9+ Support

We're attempting to upgrade to JDK10, and encountred this issue with OkHttp.

Seems like OkHttp 3.10.0 has support for Java9, but the call to one of the methods results in an
UnsupportedOperationException.

Stacktrace:

Jun 14, 2018 9:36:46 AM com.google.inject.internal.MessageProcessor visit
INFO: An exception was caught and reported. Message: java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
java.lang.UnsupportedOperationException: clientBuilder.sslSocketFactory(SSLSocketFactory) not supported on JDK 9+
at okhttp3.internal.platform.Jdk9Platform.trustManager(Jdk9Platform.java:81)
at okhttp3.internal.platform.Platform.buildCertificateChainCleaner(Platform.java:176)
at okhttp3.OkHttpClient$Builder.sslSocketFactory(OkHttpClient.java:673)
at com.clevertap.apns.clients.SyncOkHttpApnsClient.(SyncOkHttpApnsClient.java:144)
at com.clevertap.apns.clients.ApnsClientBuilder.build(ApnsClientBuilder.java:172)
at co.zeekit.server.module.notification.Push.configure(Push.java:24)
at org.jooby.Jooby.install(Jooby.java:3421)
at org.jooby.Jooby.lambda$bindService$50(Jooby.java:3082)
at org.jooby.funzy.Throwing$Consumer.lambda$accept$0(Throwing.java:273)
at org.jooby.funzy.Throwing.runAction(Throwing.java:2415)
at org.jooby.funzy.Throwing.access$000(Throwing.java:39)
at org.jooby.funzy.Throwing$Consumer.accept(Throwing.java:273)
at org.jooby.Jooby.lambda$null$44(Jooby.java:2932)
at org.jooby.funzy.Throwing.runAction(Throwing.java:2415)
at org.jooby.funzy.Throwing.access$000(Throwing.java:39)
at org.jooby.funzy.Throwing$Runnable.run(Throwing.java:86)
at org.jooby.funzy.Try.run(Try.java:729)
at org.jooby.Jooby.lambda$bootstrap$47(Jooby.java:2919)
at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:340)
at com.google.inject.spi.Elements.getElements(Elements.java:110)
at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:138)
at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:104)
at com.google.inject.Guice.createInjector(Guice.java:99)
at com.google.inject.Guice.createInjector(Guice.java:84)
at org.jooby.Jooby.lambda$new$0(Jooby.java:882)
at org.jooby.Jooby.bootstrap(Jooby.java:2996)
at org.jooby.Jooby.start(Jooby.java:2195)
at org.jooby.Jooby.start(Jooby.java:2176)
at org.jooby.Jooby.start(Jooby.java:2165)
at co.zeekit.server.ServerResource.before(ServerResource.java:82)
at org.junit.rules.ExternalResource$1.evaluate(ExternalResource.java:46)
at org.junit.rules.RunRules.evaluate(RunRules.java:20)
at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:367)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeWithRerun(JUnit4Provider.java:274)
at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:238)
at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:161)
at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:290)
at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:242)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:121)

java.io.IOExcetion

Hi
I used the following code to invoke apns service:
FileInputStream cert = new FileInputStream("/home/test/DevPush.p12");

    final ApnsClient client = new ApnsClientBuilder()
            .withDevelopmentGateway()
            .inAsynchronousMode()
            .withCertificate(cert)
            .withPassword("pwd")
            .withDefaultTopic("com")
            .build();

    Notification n = new Notification.Builder("a05eefeebc42f07ee52bcf53f6d72d0cabc36268c6ef2c1a5199234d6a0b281c")
            .alertBody("Hello").build();

    client.push(n, new NotificationResponseListener() {
        @Override
        public void onSuccess(Notification notification) {
            System.out.println("success!");
        }
        @Override
        public void onFailure(Notification notification, NotificationResponse nr) {
            System.out.println("failure: " + nr);
        }
    });

Is anybody can help me,or if there have another library can send APNS2 success?

Thank you very much.

How to close ApnsClient?

How to close ApnsClient? If you modify the configuration file I want to re-initialize ApnsCilent, so how to close the old?

Not support jdk1.7!

I found it is base on jdk1.8!
Can you make some changes to compatible with jdk1.8?

Certificate should contain "push" keyword

Hi,
The apns cert that we are using to send notification doesn't contain"push" keyword for CN. You have a check present for "push" keyword while validating the certificate and there are many others where you check specific strings to be present in the apns cert.

Due to this issue we are not able send notifications because cert validation fails. Please help what we can do here.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.