summaryrefslogtreecommitdiff
path: root/rpc++/example
diff options
context:
space:
mode:
Diffstat (limited to 'rpc++/example')
-rw-r--r--rpc++/example/Makefile40
-rw-r--r--rpc++/example/calcsvc.cc30
-rw-r--r--rpc++/example/calcsvc.h34
-rw-r--r--rpc++/example/client.cc64
-rw-r--r--rpc++/example/server.cc112
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 ();
-}