@Override public void sessionDestroyed(Long sessionId, SmppServerSession session) { logger.info("Session destroyed: {}", session); if (session.hasCounters()) { logger.info(" final session rx-submitSM: {}", session.getCounters().getRxSubmitSM()); } session.destroy(); }
@Test public void serverSessionBindVersion33() throws Exception { DefaultSmppServer server0 = createSmppServer(); server0.start(); try { DefaultSmppClient client0 = new DefaultSmppClient(); SmppSessionConfiguration sessionConfig0 = createDefaultConfiguration(); // set back to version 3.3 sessionConfig0.setInterfaceVersion(SmppConstants.VERSION_3_3); // we will not use the proper method of binding since we need to // access the bind response to verify it's correct DefaultSmppSession session0 = client0.doOpen(sessionConfig0, new DefaultSmppSessionHandler()); // create a bind request based on this config BaseBind bindRequest = client0.createBindRequest(sessionConfig0); // execute a bind request and wait for a bind response BaseBindResp bindResponse = session0.bind(bindRequest, 200); Thread.sleep(100); SmppServerSession serverSession0 = serverHandler.sessions.iterator().next(); Assert.assertEquals(1, serverHandler.sessions.size()); Assert.assertEquals(1, server0.getChannels().size()); Assert.assertEquals(true, serverSession0.isBound()); Assert.assertEquals(SmppBindType.TRANSCEIVER, serverSession0.getBindType()); Assert.assertEquals(SmppSession.Type.SERVER, serverSession0.getLocalType()); Assert.assertEquals(SmppSession.Type.CLIENT, serverSession0.getRemoteType()); // verify "requested" version is still 3.3 Assert.assertEquals( SmppConstants.VERSION_3_3, serverSession0.getConfiguration().getInterfaceVersion()); // verify the session interface version is normalized to 3.3 Assert.assertEquals(SmppConstants.VERSION_3_3, serverSession0.getInterfaceVersion()); Assert.assertEquals(false, serverSession0.areOptionalParametersSupported()); // verify client session version settings are correct Assert.assertEquals((byte) 0x33, session0.getConfiguration().getInterfaceVersion()); Assert.assertEquals((byte) 0x33, session0.getInterfaceVersion()); Assert.assertEquals(false, session0.areOptionalParametersSupported()); // verify NO optional parameters were included in bind response Assert.assertEquals(0, bindResponse.getOptionalParameterCount()); Assert.assertEquals("cloudhopper", bindResponse.getSystemId()); serverSession0.close(); Thread.sleep(200); Assert.assertEquals(0, serverHandler.sessions.size()); Assert.assertEquals(0, server0.getChannels().size()); Assert.assertEquals(false, serverSession0.isBound()); } finally { server0.destroy(); } }
@Override public void sessionCreated( Long sessionId, SmppServerSession session, BaseBindResp preparedBindResponse) { sessions.add(session); // need to do something it now (flag we're ready) session.serverReady(sessionHandler); }
@Override public void sessionCreated( Long sessionId, SmppServerSession session, BaseBindResp preparedBindResponse) throws SmppProcessingException { logger.info("Session created: {}", session); // need to do something it now (flag we're ready) session.serverReady(new TestSmppSessionHandler(session)); }
@Test public void serverSessionOK() throws Exception { DefaultSmppServer server0 = createSmppServer(); server0.start(); try { DefaultSmppClient client0 = new DefaultSmppClient(); SmppSessionConfiguration sessionConfig0 = createDefaultConfiguration(); // this should actually work SmppSession session0 = client0.bind(sessionConfig0); Thread.sleep(100); SmppServerSession serverSession0 = serverHandler.sessions.iterator().next(); Assert.assertEquals(1, serverHandler.sessions.size()); Assert.assertEquals(1, server0.getChannels().size()); Assert.assertEquals(true, serverSession0.isBound()); Assert.assertEquals(SmppBindType.TRANSCEIVER, serverSession0.getBindType()); Assert.assertEquals(SmppSession.Type.SERVER, serverSession0.getLocalType()); Assert.assertEquals(SmppSession.Type.CLIENT, serverSession0.getRemoteType()); serverSession0.close(); Thread.sleep(200); Assert.assertEquals(0, serverHandler.sessions.size()); Assert.assertEquals(0, server0.getChannels().size()); Assert.assertEquals(false, serverSession0.isBound()); } finally { server0.destroy(); } }