Search in sources :

Example 21 with UnrecoverablePduException

use of com.cloudhopper.smpp.type.UnrecoverablePduException in project load-balancer by RestComm.

the class MClientConnectionImpl method generateEnquireLink.

@Override
public void generateEnquireLink() {
    Pdu packet = new EnquireLink();
    packet.setSequenceNumber(lastSequenceNumberSent.incrementAndGet());
    ChannelBuffer buffer = null;
    try {
        buffer = transcoder.encode(packet);
    } catch (UnrecoverablePduException e) {
        logger.error("Encode error: ", e);
    } catch (RecoverablePduException e) {
        logger.error("Encode error: ", e);
    }
    if (logger.isDebugEnabled())
        logger.debug("LB sent enquire_link to client " + channel.getRemoteAddress().toString() + ". client sessionID : " + serverSessionID);
    channel.write(buffer);
}
Also used : Pdu(com.cloudhopper.smpp.pdu.Pdu) EnquireLink(com.cloudhopper.smpp.pdu.EnquireLink) RecoverablePduException(com.cloudhopper.smpp.type.RecoverablePduException) UnrecoverablePduException(com.cloudhopper.smpp.type.UnrecoverablePduException) ChannelBuffer(org.jboss.netty.buffer.ChannelBuffer)

Example 22 with UnrecoverablePduException

use of com.cloudhopper.smpp.type.UnrecoverablePduException in project load-balancer by RestComm.

the class MClientConnectionImpl method sendSmppRequest.

@Override
public void sendSmppRequest(Long sessionId, Pdu packet) {
    Integer currSequence = lastSequenceNumberSent.incrementAndGet();
    sequenceCustomerMap.put(currSequence, new CustomerPacket(sessionId, packet.getSequenceNumber()));
    packet.setSequenceNumber(currSequence);
    ChannelBuffer buffer = null;
    try {
        buffer = transcoder.encode(packet);
    } catch (UnrecoverablePduException e) {
        logger.error("Encode error: ", e);
    } catch (RecoverablePduException e) {
        logger.error("Encode error: ", e);
    }
    if (logger.isDebugEnabled())
        logger.debug("LB sent SMPP request (" + packet + ") to client " + channel.getRemoteAddress().toString() + ". client session ID : " + serverSessionID + " from client with sessionId : " + sessionId);
    channel.write(buffer);
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) RecoverablePduException(com.cloudhopper.smpp.type.RecoverablePduException) UnrecoverablePduException(com.cloudhopper.smpp.type.UnrecoverablePduException) ChannelBuffer(org.jboss.netty.buffer.ChannelBuffer)

Example 23 with UnrecoverablePduException

use of com.cloudhopper.smpp.type.UnrecoverablePduException in project load-balancer by RestComm.

the class MClientConnectionImpl method sendUnbindResponse.

@Override
public void sendUnbindResponse(Pdu packet) {
    if (packetMap.containsKey(packet.getSequenceNumber())) {
        TimerData data = packetMap.remove(packet.getSequenceNumber());
        if (data != null) {
            data.getRunnable().cancel();
            data.getScheduledFuture().cancel(false);
        }
    }
    ChannelBuffer buffer = null;
    try {
        buffer = transcoder.encode(packet);
    } catch (UnrecoverablePduException e) {
        logger.error("Encode error: ", e);
    } catch (RecoverablePduException e) {
        logger.error("Encode error: ", e);
    }
    clientState = ClientState.CLOSED;
    sequenceMap.clear();
    packetMap.clear();
    if (logger.isDebugEnabled())
        logger.debug("LB sent unbind response (" + packet + ") to client " + channel.getRemoteAddress().toString() + ". client session ID : " + serverSessionID);
    channel.write(buffer);
    closeChannel();
}
Also used : TimerData(org.mobicents.tools.smpp.balancer.timers.TimerData) RecoverablePduException(com.cloudhopper.smpp.type.RecoverablePduException) UnrecoverablePduException(com.cloudhopper.smpp.type.UnrecoverablePduException) ChannelBuffer(org.jboss.netty.buffer.ChannelBuffer)

Example 24 with UnrecoverablePduException

use of com.cloudhopper.smpp.type.UnrecoverablePduException in project load-balancer by RestComm.

the class MClientConnectionImpl method sendUnbindRequest.

@Override
public void sendUnbindRequest(Pdu packet) {
    enquireRunnable.cancel();
    enquireTimer.cancel(false);
    connectionCheck.cancel();
    connectionCheckServerSideTimer.cancel(false);
    Integer currSequence = lastSequenceNumberSent.incrementAndGet();
    sequenceMap.put(currSequence, packet.getSequenceNumber());
    packet.setSequenceNumber(currSequence);
    ChannelBuffer buffer = null;
    try {
        buffer = transcoder.encode(packet);
    } catch (UnrecoverablePduException e) {
        logger.error("Encode error: ", e);
    } catch (RecoverablePduException e) {
        logger.error("Encode error: ", e);
    }
    clientState = ClientState.UNBINDING;
    if (logger.isDebugEnabled())
        logger.debug("LB sent unbind request (" + packet + ") to client " + channel.getRemoteAddress().toString() + ". client session ID : " + serverSessionID);
    channel.write(buffer);
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) RecoverablePduException(com.cloudhopper.smpp.type.RecoverablePduException) UnrecoverablePduException(com.cloudhopper.smpp.type.UnrecoverablePduException) ChannelBuffer(org.jboss.netty.buffer.ChannelBuffer)

Example 25 with UnrecoverablePduException

use of com.cloudhopper.smpp.type.UnrecoverablePduException in project load-balancer by RestComm.

the class MServerConnectionImpl method sendRequest.

@Override
public void sendRequest(Long serverSessionID, Pdu packet) {
    Integer currSequence = lastSequenceNumberSent.incrementAndGet();
    sequenceMap.put(currSequence, new CustomerPacket(serverSessionID, packet.getSequenceNumber()));
    packet.setSequenceNumber(currSequence);
    ChannelBuffer buffer = null;
    try {
        buffer = transcoder.encode(packet);
    } catch (UnrecoverablePduException e) {
        logger.error("Encode error: ", e);
    } catch (RecoverablePduException e) {
        logger.error("Encode error: ", e);
    }
    if (logger.isDebugEnabled())
        logger.debug("LB sent SMPP request (" + packet + ") to server " + channel.getRemoteAddress().toString() + ". session ID : " + sessionId);
    channel.write(buffer);
}
Also used : AtomicInteger(java.util.concurrent.atomic.AtomicInteger) RecoverablePduException(com.cloudhopper.smpp.type.RecoverablePduException) UnrecoverablePduException(com.cloudhopper.smpp.type.UnrecoverablePduException) ChannelBuffer(org.jboss.netty.buffer.ChannelBuffer)

Aggregations

RecoverablePduException (com.cloudhopper.smpp.type.RecoverablePduException)26 UnrecoverablePduException (com.cloudhopper.smpp.type.UnrecoverablePduException)26 ChannelBuffer (org.jboss.netty.buffer.ChannelBuffer)26 TimerData (org.mobicents.tools.smpp.balancer.timers.TimerData)10 AtomicInteger (java.util.concurrent.atomic.AtomicInteger)8 EnquireLink (com.cloudhopper.smpp.pdu.EnquireLink)4 Pdu (com.cloudhopper.smpp.pdu.Pdu)4 BaseBind (com.cloudhopper.smpp.pdu.BaseBind)2 BindReceiver (com.cloudhopper.smpp.pdu.BindReceiver)2 BindTransceiver (com.cloudhopper.smpp.pdu.BindTransceiver)2 BindTransmitter (com.cloudhopper.smpp.pdu.BindTransmitter)2 GenericNack (com.cloudhopper.smpp.pdu.GenericNack)2 ServerTimerConnectionCheck (org.mobicents.tools.smpp.balancer.timers.ServerTimerConnectionCheck)1