diff options
Diffstat (limited to 'rpc++/example')
-rw-r--r-- | rpc++/example/Makefile | 40 | ||||
-rw-r--r-- | rpc++/example/calcsvc.cc | 30 | ||||
-rw-r--r-- | rpc++/example/calcsvc.h | 34 | ||||
-rw-r--r-- | rpc++/example/client.cc | 64 | ||||
-rw-r--r-- | rpc++/example/server.cc | 112 |
5 files changed, 0 insertions, 280 deletions
diff --git a/rpc++/example/Makefile b/rpc++/example/Makefile deleted file mode 100644 index 4abd7b4488f..00000000000 --- a/rpc++/example/Makefile +++ /dev/null @@ -1,40 +0,0 @@ -TOP = .. -SUBDIRS = - -CC = gcc -CPPFLAGS = -I.. -CFLAGS = -ggdb -C++FLAGS = $(CFLAGS) -# for Sun: -#LOADLIBES = -L.. -lrpc++ -lg++ -# for ISC 2.2: -LOADLIBES = -L.. -lrpc++ -lrpclib -lmisc -lg++ -linet -liberty - -HDRS = calcsvc.h -SRCS = server.cc client.cc calcsvc.cc - -all:: server client - -server: server.o calcsvc.o - $(CC) -o $@ server.o calcsvc.o $(LOADLIBES) - -client: client.o calcsvc.o - $(CC) -o $@ client.o calcsvc.o ../request.o $(LOADLIBES) - -DISTLIST = Makefile $(HDRS) $(SRCS) - -clean:: - rm -f $(CLEANWILDCARDS) server client - -include .dependencies - -.dependencies: $(HDRS) $(SRCS) - gcc -M $(CPPFLAGS) $(SRCS) > .dependencies - -distlist:: - @for f in *.[ch] *.cc; do \ - if expr " $(DISTLIST) " : ".* $$f " >/dev/null; then : ; \ - else echo 1>&2 "Warning: c- or h-file \"$$f\" not in DISTLIST"; fi; \ - done - -include $(TOP)/Proj.make diff --git a/rpc++/example/calcsvc.cc b/rpc++/example/calcsvc.cc deleted file mode 100644 index 6ed36594c61..00000000000 --- a/rpc++/example/calcsvc.cc +++ /dev/null @@ -1,30 +0,0 @@ -// -*- c++ -*- -static char _calcsvc_cc_[] -= "calcsvc.cc,v 2.3 1992/06/15 19:13:13 mnl Exp"; - -// calcsvc.cc,v -// Revision 2.3 1992/06/15 19:13:13 mnl -// Fixed a few bugs, clarified interface. -// -// Revision 2.2 1992/06/13 14:27:28 mnl -// Adapted to (patched) gcc-2.2. Fixed several bugs. -// -// Revision 2.1.1.1 1992/03/08 13:28:45 mnl -// Initial mnl version. -// - -#include <stream.h> -#include "calcsvc.h" - -XdrInfo& Xmyint = Xdr::Xint; - -RpcRequest CalcRequests::Add (1, &Xmyint, &Xdr::Xint, &Xdr::Xint); -RpcRequest CalcRequests::Sub (2, &Xdr::Xint, &Xdr::Xint, &Xdr::Xint); -RpcRequest CalcRequests::Times (3, &Xdr::Xint, &Xdr::Xint, &Xdr::Xint); -RpcRequest CalcRequests::Div (4, &Xdr::Xint, &Xdr::Xint, &Xdr::Xint); -RpcRequest CalcRequests::Inc (5, &Xdr::Xint, &Xdr::Xint); -RpcRequest CalcRequests::IToA (6, &Xdr::Xwrapstring, &Xdr::Xint); -RpcRequest CalcRequests::Reset (7, &Xdr::Xvoid); -RpcRequest CalcRequests::Sleep (8, &Xdr::Xnull, &Xdr::Xint, RpcRequest::async); -RpcRequest CalcRequests::Msg (9, &Xdr::Xvoid, &Xdr::Xwrapstring); -RpcRequest CalcRequests::Invalid (100, &Xdr::Xvoid, &Xdr::Xvoid); diff --git a/rpc++/example/calcsvc.h b/rpc++/example/calcsvc.h deleted file mode 100644 index a70c10fadac..00000000000 --- a/rpc++/example/calcsvc.h +++ /dev/null @@ -1,34 +0,0 @@ -// -*- c++ -*- -#ifndef _CALCSERVICE_H_ -#define _CALCSERVICE_H_ -static char _calcsvc_h_[] -= "calcsvc.h,v 2.3 1992/06/15 19:13:15 mnl Exp"; - -// calcsvc.h,v -// Revision 2.3 1992/06/15 19:13:15 mnl -// Fixed a few bugs, clarified interface. -// - -#ifdef __GNUG__ -#pragma interface -#endif - -#include "rpc++/request.h" - -#define CALCSVC 0x20100001 - -struct CalcRequests -{ - static RpcRequest Add; - static RpcRequest Sub; - static RpcRequest Times; - static RpcRequest Div; - static RpcRequest Inc; - static RpcRequest IToA; - static RpcRequest Reset; // for testing proc without args - static RpcRequest Sleep; // for testing async - static RpcRequest Msg; // for testing string passing - static RpcRequest Invalid; // for testing error handling -}; - -#endif diff --git a/rpc++/example/client.cc b/rpc++/example/client.cc deleted file mode 100644 index f435de61da9..00000000000 --- a/rpc++/example/client.cc +++ /dev/null @@ -1,64 +0,0 @@ -// -*- c++ -*- -static char _client_cc_[] -= "client.cc,v 2.3 1992/06/15 19:13:17 mnl Exp"; - -// client.cc,v -// Revision 2.3 1992/06/15 19:13:17 mnl -// Fixed a few bugs, clarified interface. -// -// Revision 2.2 1992/06/13 14:27:32 mnl -// Adapted to (patched) gcc-2.2. Fixed several bugs. -// -// Revision 2.1.1.1 1992/03/08 13:28:45 mnl -// Initial mnl version. -// - -#include <stream.h> -#include "rpc++/stub.h" - -#include "calcsvc.h" - -class CalcStub : public RpcStub -{ -public: - inline CalcStub (u_long prognum, u_long versnum, - char* hostname = "localhost", - timeval timeout = defaultTimeout, bool connect = TRUE) - : RpcStub (prognum, versnum, hostname, timeout, connect) {} - - inline void Reset () - { Call (CalcRequests::Reset); } - inline int Inc (int i) - { return *(int*)Call (CalcRequests::Inc, &i); } - inline char* IToA (int i) - { return *(char**)Call (CalcRequests::IToA, &i); } - inline int Add (int s1, int s2) - { return *(int*)Call (CalcRequests::Add, &s1, &s2); } - - inline void Msg (char* msg) - { Call (CalcRequests::Msg, &msg); } - inline void Sleep (int secs) - { Call (CalcRequests::Sleep, &secs); } -}; - -main (int argc, char* argv[]) -{ - char* server = argv[1]; - - CalcStub svc (CALCSVC, 1, server); - svc.Reset (); - svc.Msg ("Hello server.\n"); - int i = 0, o; - while (i < 10) - { - o = svc.Inc (i); - cout << svc.IToA (o) << '\n'; - i = o; - } - i = svc.Add (12, 23); - cout << "add (" << 12 << ", " << 23 << ") = " << i << endl; - cout << "Calling Sleep (5) asynchronously.\n"; - svc.Sleep (5); - cout << "Sleep call completed.\n"; - svc.Call (CalcRequests::Invalid); -} diff --git a/rpc++/example/server.cc b/rpc++/example/server.cc deleted file mode 100644 index f57496c0674..00000000000 --- a/rpc++/example/server.cc +++ /dev/null @@ -1,112 +0,0 @@ -// -*- c++ -*- -static char _server_cc_[] -= "server.cc,v 2.3 1992/06/15 19:13:18 mnl Exp"; - -// server.cc,v -// Revision 2.3 1992/06/15 19:13:18 mnl -// Fixed a few bugs, clarified interface. -// -// Revision 2.2 1992/06/13 14:27:33 mnl -// Adapted to (patched) gcc-2.2. Fixed several bugs. -// -// Revision 2.1.1.1 1992/03/08 13:28:45 mnl -// Initial mnl version. -// - -#include <unistd.h> -#include <stream.h> -#include <string.h> -#include <malloc.h> - -#include "rpc++/service.h" -#include "calcsvc.h" - -class Calc -{ -public: - void* Add (void*, void*); - void* Sub (void*, void*); - void* Times (void*, void*); - void* Div (void*, void*); - void* Inc (void*); - void* IToA (void**); - void Reset (RpcService*); -}; - -void* Calc::Add (void* in1, void* in2) -{ - static int res; - res = *(int*)in1 + *(int*)in2; - return &res; -} - -void* Calc::Sub (void* in1, void* in2) -{ - static int res; - res = *(int*)in1 - *(int*)in2; - return &res; -} - -void* Calc::Times (void* in1, void* in2) -{ - static int res; - res = *(int*)in1 * *(int*)in2; - return &res; -} - -void* Calc::Div (void* in1, void* in2) -{ - static int res; - res = *(int*)in1 / *(int*)in2; - return &res; -} - -void* Calc::Inc (void* in) -{ - static int res; - res = *(int*)in + 1; - return &res; -} - -void* Calc::IToA (void** in) -{ - static char *s = 0; - delete s; - char *t = form ("%d", *(int*)in[0]); - s = new char[strlen (t) + 1]; - strcpy (s, t); - return &s; -} - -void Calc::Reset (RpcService* svc) -{ - cout << "Received reset from " << svc->CallerName () << ".\n"; -} - -void printMessage (void* in) -{ - cout << *(char**)in; -} - -void doSleep (void* in) -{ - cout << form ("Sleeping %d secs.\n", *(int*)in); - sleep (*(int*)in); - cout << "Woke up.\n"; -} - -main () -{ - RpcService svc (CALCSVC, 1); - Calc calc; - svc.Register (CalcRequests::Add, RpcMethodCall<Calc> (&calc, &calc.Add)); - svc.Register (CalcRequests::Sub, RpcMethodCall<Calc> (&calc, &calc.Sub)); - svc.Register (CalcRequests::Times, RpcMethodCall<Calc> (&calc, &calc.Times)); - svc.Register (CalcRequests::Div, RpcMethodCall<Calc> (&calc, &calc.Div)); - svc.Register (CalcRequests::Inc, RpcMethodCall<Calc> (&calc, &calc.Inc)); - svc.Register (CalcRequests::IToA,RpcMethodCall<Calc>(&calc, &calc.IToA)); - svc.Register (CalcRequests::Reset, RpcMethodCall<Calc> (&calc, &calc.Reset)); - svc.Register (CalcRequests::Msg, RpcCallback (printMessage)); - svc.Register (CalcRequests::Sleep, RpcCallback (doSleep)); - svc.Provide (); -} |