// $Id$ // // Licensed to the Apache Software Foundation (ASF) under one // or more contributor license agreements. See the NOTICE file // distributed with this work for additional information // regarding copyright ownership. The ASF licenses this file // to you under the Apache License, Version 2.0 (the // "License"); you may not use this file except in compliance // with the License. You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, // software distributed under the License is distributed on an // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY // KIND, either express or implied. See the License for the // specific language governing permissions and limitations // under the License. // using System; using org.apache.etch.examples.distmap.types.DistributedHashTable; namespace org.apache.etch.examples.distmap { ///Main implementation for DistributedHashTableClient. public class MainDistributedHashTableClient : DistributedHashTableHelper.DistributedHashTableClientFactory { ///Main for DistributedHashTableClient ///Command Line Arguments public static void Main(String[] args) { // TODO: Change to correct URI string uri = "tcp://localhost:4007"; RemoteDistributedHashTableServer server = DistributedHashTableHelper.NewServer(uri, null, new MainDistributedHashTableClient()); // Connect to the service server._StartAndWaitUp(4000); const bool myBool1 = true; const sbyte myByte1 = 1; const short myShort1 = 234; const int myInt1 = 345345; const long myLong1 = 456456456456L; const float myFloat1 = 1.234f; const double myDouble1 = 2.345; const string myString1 = "abc"; object myObj; Console.WriteLine("DHT sixe is " + server.size()); // getAll - DHT is empty foreach (Entry entry in server.getAll()) Console.WriteLine("getAll: {0},{1} ", entry.key, entry.value); // putObject for each constant type server.putObject("boolean1", myBool1); Console.WriteLine("Put {0} in DHT", myBool1); server.putObject("byte1", myByte1); Console.WriteLine("Put {0} in DHT", myByte1); server.putObject("short1", myShort1); Console.WriteLine("Put {0} in DHT", myShort1); server.putObject("int1", myInt1); Console.WriteLine("Put {0} in DHT", myInt1); server.putObject("long1", myLong1); Console.WriteLine("Put {0} in DHT", myLong1); server.putObject("float1", myFloat1); Console.WriteLine("Put {0} in DHT", myFloat1); server.putObject("double1", myDouble1); Console.WriteLine("Put {0} in DHT", myDouble1); server.putObject("string1", myString1); Console.WriteLine("Put {0} in DHT", myString1); // size - DHT has entries Console.WriteLine("DHT Size is {0} ", server.size()); // getAll - DHT has entries foreach (Entry entry in server.getAll()) Console.WriteLine("getAll: {0} {1} ", entry.key, entry.value); // getObject for each constant type myObj = server.getObject("boolean1"); Console.WriteLine("Value of myBool1 is {0} ", myObj); myObj = server.getObject("byte1"); Console.WriteLine("Value of myByte1 is {0} ", myObj); myObj = server.getObject("short1"); Console.WriteLine("Value of myShort1 is {0} ", myObj); myObj = server.getObject("int1"); Console.WriteLine("Value of myInt1 is {0} ", myObj); myObj = server.getObject("long1"); Console.WriteLine("Value of myLong1 is {0} ", myObj); myObj = server.getObject("float1"); Console.WriteLine("Value of myFloat1 is {0} ", myObj); myObj = server.getObject("double1"); Console.WriteLine("Value of myDouble1 is {0} ", myObj); myObj = server.getObject("string1"); Console.WriteLine("Value of myString1 is {0} ", myObj); // removeObject for each constant type server.removeObject("boolean1"); Console.WriteLine("removing Object boolean1 "); server.removeObject("byte1"); Console.WriteLine("removing Object byte1 "); server.removeObject("short1"); Console.WriteLine("removing Object short1 "); server.removeObject("int1"); Console.WriteLine("removing Object int1 "); server.removeObject("long1"); Console.WriteLine("removing Object long1 "); server.removeObject("float1"); Console.WriteLine("removing Object float1 "); server.removeObject("double1"); Console.WriteLine("removing Object double1 "); server.removeObject("string1"); Console.WriteLine("removing Object string1 "); // size - Verify that DHT is empty after removing all items Console.WriteLine("DHT Size is {0}", server.size()); // getAll - Verify that DHT is empty after removing all items foreach (Entry entry in server.getAll()) Console.WriteLine("getAll: {0} {1} ", entry.key, entry.value); Console.WriteLine("Have a nice day!"); // Disconnect from the service server._StopAndWaitDown(4000); } ///Return a new instance of DistributedHashTableClient. ///Reference to remote service ///Client Implementation public DistributedHashTableClient NewDistributedHashTableClient(RemoteDistributedHashTableServer server) { return new ImplDistributedHashTableClient(server); } } }