Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

em.network.classic

Class EM_SOCKET


Direct ancestors

EM_SHARED_SUBSYSTEMS, EM_SHARED_ERROR_HANDLER

Known direct descendants

EM_TCP_CLIENT_SOCKET, EM_UDP_SOCKET, EM_TCP_SERVER_SOCKET

Features

Invariants

indexing

description

A network socket.

date

$Date: 2005/10/23 10:28:33 $

revision

$Revision: 1.8 $

deferred class

EM_SOCKET

feature -- Access

network_subsystem: EM_NETWORK_SUBSYSTEM

-- EiffelMedia network subsystem is

-- (From EM_SHARED_SUBSYSTEMS)

ensure
network_subsystem_not_void: Result /= void
port: INTEGER

-- Local socket port

feature -- Status setting

close

-- Close socket.

require
network_enabled: Network_subsystem.is_enabled
open: is_open
ensure
closed: not is_open
open

-- Open socket.

require
network_enabled: Network_subsystem.is_enabled
closed: not is_open
port_set: 1024 < port and port < 65536

feature -- Element change

set_port (a_port: INTEGER)

-- Set port to a_port.

require
a_port_in_range: 1024 < a_port and a_port < 65536
ensure
port_set: port = a_port

feature -- Status

is_open: BOOLEAN

-- Is socket open?

feature {EM_SOCKETS} -- Implementation

handle_data_received

-- Handle data received event.

net2_socket_id: INTEGER

-- Socket id of Net2

invariant

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end