14.07.2017 04:36, Adriano dos Santos Fernandes wrote:
When client and server "architecture" are identical, remote code set PORT_symmetric flag and that causes some optimizations.
That happened in the past. Asymmetric mode is unconditionally used since v1.5, in order to optimize bandwidth (VARCHAR packing). It could make sense to use PORT_symmetric for XNET though, worth testing.
But, architectures are: #if defined(__sun) # ifdef sparc const P_ARCH ARCHITECTURE = arch_sun4; #elif (defined i386 || defined AMD64) const P_ARCH ARCHITECTURE = arch_sunx86; # else const P_ARCH ARCHITECTURE = arch_sun; # endif #elif defined(HPUX) const P_ARCH ARCHITECTURE = arch_hpux; #elif (defined AIX || defined AIX_PPC) const P_ARCH ARCHITECTURE = arch_rt; #elif defined(LINUX) const P_ARCH ARCHITECTURE = arch_linux; #elif defined(FREEBSD) const P_ARCH ARCHITECTURE = arch_freebsd; #elif defined(NETBSD) const P_ARCH ARCHITECTURE = arch_netbsd; #elif defined(DARWIN) && defined(__ppc__) const P_ARCH ARCHITECTURE = arch_darwin_ppc; #elif defined(WIN_NT) && defined(AMD64) const P_ARCH ARCHITECTURE = arch_winnt_64; #elif defined(I386) const P_ARCH ARCHITECTURE = arch_intel_32; #elif defined(DARWIN64) const P_ARCH ARCHITECTURE = arch_darwin_x64; #elif defined(DARWINPPC64) const P_ARCH ARCHITECTURE = arch_darwin_ppc64; #elif defined(ARM) const P_ARCH ARCHITECTURE = arch_arm; #endif But for the given purpose, this is misleading. Each platform/OS is treated in a different way. Why Linux is treated in the same manner in all platforms (big and little endian)?
This question should be addressed to the Borland engineers, I suppose. Maybe Ann may recall and explain something. I agree the logic is confusing.
Dmitry ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot Firebird-Devel mailing list, web interface at https://lists.sourceforge.net/lists/listinfo/firebird-devel