Checking in vendor folder for ease of using go get.
This commit is contained in:
parent
7a1251853b
commit
cdb4b5a1d0
3554 changed files with 1270116 additions and 0 deletions
111
vendor/git.apache.org/thrift.git/tutorial/d/server.d
generated
vendored
Normal file
111
vendor/git.apache.org/thrift.git/tutorial/d/server.d
generated
vendored
Normal file
|
@ -0,0 +1,111 @@
|
|||
/*
|
||||
* 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.
|
||||
*/
|
||||
module server;
|
||||
|
||||
import std.conv : to;
|
||||
import std.stdio;
|
||||
import thrift.codegen.processor;
|
||||
import thrift.protocol.binary;
|
||||
import thrift.server.simple;
|
||||
import thrift.server.transport.socket;
|
||||
import thrift.transport.buffered;
|
||||
|
||||
import share.SharedService;
|
||||
import share.shared_types;
|
||||
import tutorial.Calculator;
|
||||
import tutorial.tutorial_types;
|
||||
|
||||
/**
|
||||
* The actual implementation of the Calculator interface that is called by
|
||||
* the server to answer the requests.
|
||||
*/
|
||||
class CalculatorHandler : Calculator {
|
||||
void ping() {
|
||||
writeln("ping()");
|
||||
}
|
||||
|
||||
int add(int n1, int n2) {
|
||||
writefln("add(%s,%s)", n1, n2);
|
||||
return n1 + n2;
|
||||
}
|
||||
|
||||
int calculate(int logid, ref const(Work) work) {
|
||||
writefln("calculate(%s, {%s, %s, %s})", logid, work.op, work.num1, work.num2);
|
||||
int val;
|
||||
|
||||
switch (work.op) {
|
||||
case Operation.ADD:
|
||||
val = work.num1 + work.num2;
|
||||
break;
|
||||
case Operation.SUBTRACT:
|
||||
val = work.num1 - work.num2;
|
||||
break;
|
||||
case Operation.MULTIPLY:
|
||||
val = work.num1 * work.num2;
|
||||
break;
|
||||
case Operation.DIVIDE:
|
||||
if (work.num2 == 0) {
|
||||
auto io = new InvalidOperation();
|
||||
io.whatOp = work.op;
|
||||
io.why = "Cannot divide by 0";
|
||||
throw io;
|
||||
}
|
||||
val = work.num1 / work.num2;
|
||||
break;
|
||||
default:
|
||||
auto io = new InvalidOperation();
|
||||
io.whatOp = work.op;
|
||||
io.why = "Invalid Operation";
|
||||
throw io;
|
||||
}
|
||||
|
||||
auto ss = SharedStruct();
|
||||
ss.key = logid;
|
||||
ss.value = to!string(val);
|
||||
log[logid] = ss;
|
||||
|
||||
return val;
|
||||
}
|
||||
|
||||
SharedStruct getStruct(int logid) {
|
||||
writefln("getStruct(%s)", logid);
|
||||
return log[logid];
|
||||
}
|
||||
|
||||
void zip() {
|
||||
writeln("zip()");
|
||||
}
|
||||
|
||||
protected:
|
||||
SharedStruct[int] log;
|
||||
}
|
||||
|
||||
void main() {
|
||||
auto protocolFactory = new TBinaryProtocolFactory!();
|
||||
auto processor = new TServiceProcessor!Calculator(new CalculatorHandler);
|
||||
auto serverTransport = new TServerSocket(9090);
|
||||
auto transportFactory = new TBufferedTransportFactory;
|
||||
|
||||
auto server = new TSimpleServer(
|
||||
processor, serverTransport, transportFactory, protocolFactory);
|
||||
|
||||
writeln("Starting the server on port 9090...");
|
||||
server.serve();
|
||||
writeln("done.");
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue