1 18 package org.apache.activemq.transport.udp; 19 20 21 import org.apache.activemq.command.Command; 22 import org.apache.activemq.command.Endpoint; 23 24 import java.io.DataInputStream ; 25 import java.io.DataOutputStream ; 26 import java.net.DatagramPacket ; 27 import java.net.SocketAddress ; 28 import java.nio.ByteBuffer ; 29 import java.util.HashMap ; 30 import java.util.Map ; 31 32 36 public class DatagramHeaderMarshaller { 37 38 private Map endpoints = new HashMap (); 42 43 46 public Endpoint createEndpoint(ByteBuffer readBuffer, SocketAddress address) { 47 return getEndpoint(address); 48 } 49 50 public Endpoint createEndpoint(DatagramPacket datagram, DataInputStream dataIn) { 51 return getEndpoint(datagram.getSocketAddress()); 52 } 53 54 public void writeHeader(Command command, ByteBuffer writeBuffer) { 55 62 } 63 64 public void writeHeader(Command command, DataOutputStream dataOut) { 65 } 66 67 74 protected Endpoint getEndpoint(SocketAddress address) { 75 Endpoint endpoint = (Endpoint) endpoints.get(address); 76 if (endpoint == null) { 77 endpoint = createEndpoint(address); 78 endpoints.put(address, endpoint); 79 } 80 return endpoint; 81 } 82 83 protected Endpoint createEndpoint(SocketAddress address) { 84 return new DatagramEndpoint(address.toString(), address); 85 } 86 } 87 | Popular Tags |