|
Class: RPCServer (in SunRPC)
Object
|
+--SunRPC::RPCEndPoint
|
+--SunRPC::RPCServer
|
+--SmalltalkShareServer
|
+--SunRPC::DemoServer
|
+--SunRPC::MountServer
|
+--SunRPC::NFSServer
|
+--SunRPC::PortMapperServer
- Package:
- stx:goodies/communication
- Category:
- Net-Communication-SunRPC
- Version:
- rev:
1.52
date: 2019/07/11 13:38:54
- user: cg
- file: SunRPC_RPCServer.st directory: goodies/communication
- module: stx stc-classLibrary: communication
- Author:
- Claus Gittinger
abstract superclass for RPC server programs.
See MountServer, NFSServer and DemoServer for concrete examples.
accessing
-
addToServersRunning: aServer
-
-
removeFromServersRunning: aServer
-
-
serversRunning
-
debugging
-
debug: aBoolean
-
self debug:true
self debug:false
-
dumpBytes: aByteArray
-
self dumpBytes:#[]
self dumpBytes:#[ 0 1 2 ]
self dumpBytes:#[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ]
self dumpBytes:#[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ]
self dumpBytes:#[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ]
self dumpBytes:#[ 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 ]
self dumpBytes:#[ 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 ]
-
logging: aBoolean
-
self logging:true
self logging:false
-
traceOp: aBoolean
-
self traceOp:true
self traceOp:false
-
verbose: aBoolean
-
self verbose:true
self verbose:false
initialization
-
initialize
-
Initialize class variables.
usage example(s):
SunRPC::RPCServer initialize.
|
-
killAll
-
-
killAllRPCServers
-
self killAllRPCServers
-
serverRunning
-
SmalltalkShareServer serverRunning
RPCServer serverRunning
queries
-
isRPCServerClass
-
startup
-
isStartableWithMain
-
return true, if this is an application class,
which can be started via #main / #main:
-
main
-
Start a server
-
start
-
Start a server on its TCP port
usage example(s):
MountServer start
NFSServer start
SmalltalkShareServer start
|
-
startServerIfNotYetRunningAtPort: portNr protocol: protocol
-
-
startUDP
-
Start a server on its UDP port
usage example(s):
MountServer startUDP
NFSServer startUDP
SmalltalkShareServer startUDP
|
change & update
-
update: something with: aParameter from: changedObject
-
system is shutting down - unregister from portMapper
handle client
-
checkHost: hostName
-
-
checkHost: hostName askUser: askUser
-
-
confirmNewHost: hostName
-
A previously unauthorized host is trying to connect.
Ask the user if we can authorize this new host.
-
executeRequest: bytes
-
NFS has a bug here: even if registered with a different
-
handleClient: aSocket
-
This method is invoked when a new connection arrives (tcp),
or a packet was received (udp).
It checks the host (allow/deny), possibly asking via a Dialog,
then calls #handle*Client: to do the real work.
-
handleDatagramClient: aSocket
-
Called when a request arrives via udp;
Read the request, check for host being allowed and execute.
-
handleStreamClient: aSocket
-
Called when a good client request arrives via tcp;
Read the request and execute.
-
loopForever
-
Create and listen to my socket. When a connection arrives,
to handle the request (in #handleClient:).
-
performOperation: opName withArguments: argVector
-
-
readStreamDataFrom: aSocket
-
Read the request-data from a stream socket.
initialization
-
initialize
-
operations
-
null
-
ignored - void
queries
-
handlePriority
-
-
isRunning
-
-
operationNames
-
-
operations
-
-
portNumbers
-
-
program
-
-
programNumber
-
-
programVersion
-
-
protocol
-
-
version
-
shutdown
-
release
-
close
startup
-
registerInPortMapper
-
start a local mapper then
-
restart
-
-
serverPriority
-
-
startConnectProcess
-
Called when snapshot is started, and at instance creation.
-
startServer
-
This is only run by SERVER instances at startup.
-
unregisterInPortMapper
-
Abstract - see DemoServer, MountServer and NFSServer for examples.
|