73bb342d10759e270ed7360f52e6020f616a6055
[packetcable.git] / packetcable-driver / src / main / java / org / umu / cops / ospdp / COPSPdpOSConnection.java
1 package org.umu.cops.ospdp;
2
3 import org.umu.cops.prpdp.COPSPdpConnection;
4 import org.umu.cops.prpdp.COPSPdpReqStateMan;
5 import org.umu.cops.stack.COPSPepId;
6 import org.umu.cops.stack.COPSReqMsg;
7
8 import javax.annotation.concurrent.ThreadSafe;
9 import java.net.Socket;
10
11 /**
12  * Class for managing an outsourcing connection at the PDP side.
13  */
14 @ThreadSafe
15 public class COPSPdpOSConnection extends COPSPdpConnection {
16
17     /**
18      * The PDP OS Data Process object
19      */
20     private COPSPdpOSDataProcess _thisProcess;
21
22     /**
23      * Creates a new PDP connection
24      *
25      * @param pepId PEP-ID of the connected PEP
26      * @param sock  Socket connected to PEP
27      * @param process   Object for processing policy data
28      */
29     public COPSPdpOSConnection(final COPSPepId pepId, final Socket sock, final COPSPdpOSDataProcess process) {
30         super(pepId, sock, process);
31         this._thisProcess = process;
32     }
33
34     @Override
35     protected COPSPdpReqStateMan createStateManager(final COPSReqMsg reqMsg) {
36         return new COPSPdpOSReqStateMan(reqMsg.getHeader().getClientType(), reqMsg.getClientHandle(), _thisProcess);
37     }
38
39 }