place methods used by both socket types in abstract base class