|
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.58
date: 2022/09/09 12:56:40
- user: stefan
- file: SunRPC_RPCServer.st directory: goodies/communication
- module: stx stc-classLibrary: communication
abstract superclass for RPC server programs.
See MountServer, NFSServer and DemoServer for concrete examples.
copyrightCOPYRIGHT (c) 2002 by eXept Software AG
All Rights Reserved
This software is furnished under a license and may be used
only in accordance with the terms of that license and with the
inclusion of the above copyright notice. This software may not
be provided or otherwise made available to, or used by, any
other person. No title to or ownership of the software is
hereby transferred.
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
-
isAbstract
-
Return if this class is an abstract class.
True is returned here for myself only; false for subclasses.
Abstract subclasses must redefine this again.
-
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
-
(comment from inherited method)
just to ignore initialize to objects which do not need it
operations
-
null
-
ignored - void
queries
-
handlePriority
-
-
isRunning
-
-
operationNames
-
-
operations
-
-
portNumbers
-
** This method must be redefined in concrete classes (subclassResponsibility) **
-
program
-
-
programNumber
-
-
programVersion
-
-
protocol
-
** This method must be redefined in concrete classes (subclassResponsibility) **
-
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.
|