@Override public void receiveResponse(Response response) { CoapMessageListener listener = listeners.get(toStringAddress(response.getSourceContext().getPeerAddress())); if (listener != null) { listener.trace(new CoapMessage(response, true)); } }
@Override public void sendRequest(Request request) { CoapMessageListener listener = listeners.get(toStringAddress(request.getDestinationContext().getPeerAddress())); if (listener != null) { listener.trace(new CoapMessage(request, false)); } }
@Override public void sendEmptyMessage(EmptyMessage message) { CoapMessageListener listener = listeners.get(toStringAddress(message.getDestinationContext().getPeerAddress())); if (listener != null) { listener.trace(new CoapMessage(message, false)); } }
@Override public void receiveRequest(Request request) { CoapMessageListener listener = listeners.get(toStringAddress(request.getSourceContext().getPeerAddress())); if (listener != null) { listener.trace(new CoapMessage(request, true)); } }
@Override public void receiveEmptyMessage(EmptyMessage message) { CoapMessageListener listener = listeners.get(toStringAddress(message.getSourceContext().getPeerAddress())); if (listener != null) { listener.trace(new CoapMessage(message, true)); } }
@Override public void sendResponse(Response response) { CoapMessageListener listener = listeners .get(toStringAddress(response.getDestinationContext().getPeerAddress())); if (listener != null) { listener.trace(new CoapMessage(response, false)); } }
public static JsonObject serialize(EndpointContext context) { JsonObject peer = Json.object(); peer.set(KEY_ADDRESS, context.getPeerAddress().getHostString()); peer.set(KEY_PORT, context.getPeerAddress().getPort()); Principal principal = context.getPeerIdentity(); if (principal != null) { if (principal instanceof PreSharedKeyIdentity) { peer.set(KEY_ID, ((PreSharedKeyIdentity) principal).getIdentity()); } else if (principal instanceof RawPublicKeyIdentity) { PublicKey publicKey = ((RawPublicKeyIdentity) principal).getKey(); peer.set(KEY_RPK, Hex.encodeHexString(publicKey.getEncoded())); } else if (principal instanceof X500Principal || principal instanceof X509CertPath) { peer.set(KEY_DN, principal.getName()); } } /** copy the attributes **/ Map<String, String> attributes = context.entries(); if (!attributes.isEmpty()) { JsonObject attContext = Json.object(); for (String key : attributes.keySet()) { attContext.set(key, attributes.get(key)); } peer.set(KEY_ATTRIBUTES, attContext); } return peer; }
public static JsonObject serialize(EndpointContext context) { JsonObject peer = Json.object(); peer.set(KEY_ADDRESS, context.getPeerAddress().getHostString()); peer.set(KEY_PORT, context.getPeerAddress().getPort()); Principal principal = context.getPeerIdentity(); if (principal != null) { if (principal instanceof PreSharedKeyIdentity) { peer.set(KEY_ID, ((PreSharedKeyIdentity) principal).getIdentity()); } else if (principal instanceof RawPublicKeyIdentity) { PublicKey publicKey = ((RawPublicKeyIdentity) principal).getKey(); peer.set(KEY_RPK, Hex.encodeHexString(publicKey.getEncoded())); } else if (principal instanceof X500Principal || principal instanceof X509CertPath) { peer.set(KEY_DN, principal.getName()); } } /** copy the attributes **/ Map<String, String> attributes = context.entries(); if (!attributes.isEmpty()) { JsonObject attContext = Json.object(); for (String key : attributes.keySet()) { attContext.set(key, attributes.get(key)); } peer.set(KEY_ATTRIBUTES, attContext); } return peer; }
public static Identity extractIdentity(EndpointContext context) { InetSocketAddress peerAddress = context.getPeerAddress(); Principal senderIdentity = context.getPeerIdentity(); if (senderIdentity != null) { if (senderIdentity instanceof PreSharedKeyIdentity) { return Identity.psk(peerAddress, ((PreSharedKeyIdentity) senderIdentity).getIdentity()); } else if (senderIdentity instanceof RawPublicKeyIdentity) { PublicKey publicKey = ((RawPublicKeyIdentity) senderIdentity).getKey(); return Identity.rpk(peerAddress, publicKey); } else if (senderIdentity instanceof X500Principal || senderIdentity instanceof X509CertPath) { // Extract common name String x509CommonName = extractCN(senderIdentity.getName()); return Identity.x509(peerAddress, x509CommonName); } throw new IllegalStateException("Unable to extract sender identity : unexpected type of Principal"); } return Identity.unsecure(peerAddress); }