|  | (* | 
|  | * 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. | 
|  | *) | 
|  |  | 
|  | unit TestConstants; | 
|  |  | 
|  | interface | 
|  |  | 
|  | uses SysUtils; | 
|  |  | 
|  | type | 
|  | TKnownProtocol = ( | 
|  | prot_Binary,  // default binary protocol | 
|  | prot_JSON,    // JSON protocol | 
|  | prot_Compact | 
|  | ); | 
|  |  | 
|  | TServerType = ( | 
|  | srv_Simple, | 
|  | srv_Nonblocking, | 
|  | srv_Threadpool, | 
|  | srv_Threaded | 
|  | ); | 
|  |  | 
|  | TEndpointTransport = ( | 
|  | trns_Sockets, | 
|  | trns_Http, | 
|  | trns_NamedPipes, | 
|  | trns_AnonPipes, | 
|  | trns_EvHttp  // as listed on http://thrift.apache.org/test | 
|  | ); | 
|  |  | 
|  | TLayeredTransport = ( | 
|  | trns_Buffered, | 
|  | trns_Framed | 
|  | ); | 
|  |  | 
|  | TLayeredTransports = set of TLayeredTransport; | 
|  |  | 
|  | const | 
|  | SERVER_TYPES : array[TServerType] of string | 
|  | = ('Simple', 'Nonblocking', 'Threadpool', 'Threaded'); | 
|  |  | 
|  | THRIFT_PROTOCOLS : array[TKnownProtocol] of string | 
|  | = ('Binary', 'JSON', 'Compact'); | 
|  |  | 
|  | LAYERED_TRANSPORTS : array[TLayeredTransport] of string | 
|  | = ('Buffered', 'Framed'); | 
|  |  | 
|  | ENDPOINT_TRANSPORTS : array[TEndpointTransport] of string | 
|  | = ('Sockets', 'Http', 'Named Pipes','Anon Pipes', 'EvHttp'); | 
|  |  | 
|  | // defaults are: read=false, write=true | 
|  | BINARY_STRICT_READ  = FALSE; | 
|  | BINARY_STRICT_WRITE = FALSE; | 
|  |  | 
|  | HUGE_TEST_STRING = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. ' | 
|  | + 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy ' | 
|  | + 'eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam ' | 
|  | + 'voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit ' | 
|  | + 'amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam ' | 
|  | + 'nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed ' | 
|  | + 'diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet ' | 
|  | + 'clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. '; | 
|  |  | 
|  |  | 
|  | function BytesToHex( const bytes : TBytes) : string; | 
|  |  | 
|  |  | 
|  | implementation | 
|  |  | 
|  |  | 
|  | function BytesToHex( const bytes : TBytes) : string; | 
|  | var i : Integer; | 
|  | begin | 
|  | result := ''; | 
|  | for i := Low(bytes) to High(bytes) do begin | 
|  | result := result + IntToHex(bytes[i],2); | 
|  | end; | 
|  | end; | 
|  |  | 
|  |  | 
|  | end. |