From 816e0c9be877f21b450970194518a2c50c5c7da9 Mon Sep 17 00:00:00 2001 From: Fredrik Tolf Date: Tue, 18 May 2010 01:09:27 +0200 Subject: [PATCH] COMMON-NET: Added functions for construction TCP/UDP addresses from hosts. The usefulness of these functions may indicate some unhealthiness in the address model. I'm not sure. --- common-net.lisp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/common-net.lisp b/common-net.lisp index ffe7a2d..e17931d 100644 --- a/common-net.lisp +++ b/common-net.lisp @@ -429,7 +429,13 @@ (defmethod connected-address-p ((address tcp-address)) t) -(export '(tcp-address tcp4-address tcp6-address)) +(defun tcp-address-for (host-address port) + (check-type port (unsigned-byte 16)) + (etypecase host-address + (ipv4-address (make-instance 'tcp4-address :host-address host-address :port port)) + (ipv6-address (make-instance 'tcp6-address :host-address host-address :port port)))) + +(export '(tcp-address tcp4-address tcp6-address tcp-address-for)) ;;; UDP code @@ -439,7 +445,13 @@ (defmethod connected-address-p ((address tcp-address)) nil) -(export '(udp-address udp4-address udp6-address)) +(defun udp-address-for (host-address port) + (check-type port (unsigned-byte 16)) + (etypecase host-address + (ipv4-address (make-instance 'udp4-address :host-address host-address :port port)) + (ipv6-address (make-instance 'udp6-address :host-address host-address :port port)))) + +(export '(udp-address udp4-address udp6-address udp-address-for)) ;;; Unix sockets -- 2.11.0