[jira] [Commented] (THRIFT-4279) Wrong path in include directive in generated Thrift sources

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16119236#comment-16119236
 ] 

ASF GitHub Bot commented on THRIFT-4279:


Github user dhull commented on the issue:

https://github.com/apache/thrift/pull/1329
  
It appears to me that the AppVeyor build failure is due it a problem with 
the build machine:
```
CMake Error at C:/Program Files 
(x86)/CMake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 
(message):
  Could NOT find FLEX (missing: FLEX_EXECUTABLE)
```



> Wrong path in include directive in generated Thrift sources
> ---
>
> Key: THRIFT-4279
> URL: https://issues.apache.org/jira/browse/THRIFT-4279
> Project: Thrift
>  Issue Type: Bug
>  Components: Erlang - Compiler
>Reporter: David Hull
>Priority: Minor
>
> My code change in THRIFT-4270 introduced a bug in the path to the generated 
> header files in the generated Erlang code. Previously the `-include` 
> directives did not specify a path, but after the THRIFT-4270 change the 
> `-include` directive has the "gen-erl" directory as part of the path.
> Example include directive before the change:
> {noformat}
> -include("constants_demo_types.hrl").
> {noformat}
> Example include directive after the change:
> {noformat}
> -include("test/gen-erl/constants_demo_types.hrl").
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift issue #1329: THRIFT-4279: Fix include path in generated Erlang Thrift...

2017-08-08 Thread dhull
Github user dhull commented on the issue:

https://github.com/apache/thrift/pull/1329
  
It appears to me that the AppVeyor build failure is due it a problem with 
the build machine:
```
CMake Error at C:/Program Files 
(x86)/CMake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 
(message):
  Could NOT find FLEX (missing: FLEX_EXECUTABLE)
```



---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-4279) Wrong path in include directive in generated Thrift sources

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16119145#comment-16119145
 ] 

ASF GitHub Bot commented on THRIFT-4279:


Github user djnym commented on the issue:

https://github.com/apache/thrift/pull/1329
  
@Jens-G this probably needs to be merged assuming it passes the checks as 
we don't want to generate bad code.  


> Wrong path in include directive in generated Thrift sources
> ---
>
> Key: THRIFT-4279
> URL: https://issues.apache.org/jira/browse/THRIFT-4279
> Project: Thrift
>  Issue Type: Bug
>  Components: Erlang - Compiler
>Reporter: David Hull
>Priority: Minor
>
> My code change in THRIFT-4270 introduced a bug in the path to the generated 
> header files in the generated Erlang code. Previously the `-include` 
> directives did not specify a path, but after the THRIFT-4270 change the 
> `-include` directive has the "gen-erl" directory as part of the path.
> Example include directive before the change:
> {noformat}
> -include("constants_demo_types.hrl").
> {noformat}
> Example include directive after the change:
> {noformat}
> -include("test/gen-erl/constants_demo_types.hrl").
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift issue #1329: THRIFT-4279: Fix include path in generated Erlang Thrift...

2017-08-08 Thread djnym
Github user djnym commented on the issue:

https://github.com/apache/thrift/pull/1329
  
@Jens-G this probably needs to be merged assuming it passes the checks as 
we don't want to generate bad code.  


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-4279) Wrong path in include directive in generated Thrift sources

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4279?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16119008#comment-16119008
 ] 

ASF GitHub Bot commented on THRIFT-4279:


GitHub user dhull opened a pull request:

https://github.com/apache/thrift/pull/1329

THRIFT-4279: Fix include path in generated Erlang Thrift sources.

The change in THRIFT-4270 inadvertantly modified the include directives in 
the generated Erlang sources to include the gen-erl directory in the path to 
the include file.  This commit restores the
previous behavior.

Example include directive before the THRIFT-4270 change:
```erlang
-include("constants_demo_types.hrl").
```

Example include directive after the THRIFT-4270 change:
```erlang
-include("test/gen-erl/constants_demo_types.hrl").
```


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/dhull/thrift 
thrift-4279-erlang-fix-include-path

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/thrift/pull/1329.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1329


commit 4aa8fca3955ff6eb1f6cc810a8cad50a74294caa
Author: David Hull 
Date:   2017-08-08T17:42:37Z

THRIFT-4279: Fix include path in generated Erlang Thrift sources.

The change in THRIFT-4270 inadvertantly modified the include
directives in the generated Erlang sources to include the gen-erl
directory in the path to the include file.  This commit restores the
previous behavior.




> Wrong path in include directive in generated Thrift sources
> ---
>
> Key: THRIFT-4279
> URL: https://issues.apache.org/jira/browse/THRIFT-4279
> Project: Thrift
>  Issue Type: Bug
>  Components: Erlang - Compiler
>Reporter: David Hull
>Priority: Minor
>
> My code change in THRIFT-4270 introduced a bug in the path to the generated 
> header files in the generated Erlang code. Previously the `-include` 
> directives did not specify a path, but after the THRIFT-4270 change the 
> `-include` directive has the "gen-erl" directory as part of the path.
> Example include directive before the change:
> {noformat}
> -include("constants_demo_types.hrl").
> {noformat}
> Example include directive after the change:
> {noformat}
> -include("test/gen-erl/constants_demo_types.hrl").
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift pull request #1329: THRIFT-4279: Fix include path in generated Erlang...

2017-08-08 Thread dhull
GitHub user dhull opened a pull request:

https://github.com/apache/thrift/pull/1329

THRIFT-4279: Fix include path in generated Erlang Thrift sources.

The change in THRIFT-4270 inadvertantly modified the include directives in 
the generated Erlang sources to include the gen-erl directory in the path to 
the include file.  This commit restores the
previous behavior.

Example include directive before the THRIFT-4270 change:
```erlang
-include("constants_demo_types.hrl").
```

Example include directive after the THRIFT-4270 change:
```erlang
-include("test/gen-erl/constants_demo_types.hrl").
```


You can merge this pull request into a Git repository by running:

$ git pull https://github.com/dhull/thrift 
thrift-4279-erlang-fix-include-path

Alternatively you can review and apply these changes as the patch at:

https://github.com/apache/thrift/pull/1329.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

This closes #1329


commit 4aa8fca3955ff6eb1f6cc810a8cad50a74294caa
Author: David Hull 
Date:   2017-08-08T17:42:37Z

THRIFT-4279: Fix include path in generated Erlang Thrift sources.

The change in THRIFT-4270 inadvertantly modified the include
directives in the generated Erlang sources to include the gen-erl
directory in the path to the include file.  This commit restores the
previous behavior.




---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Updated] (THRIFT-4279) Wrong path in include directive in generated Thrift sources

2017-08-08 Thread David Hull (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-4279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

David Hull updated THRIFT-4279:
---
Description: 
My code change in THRIFT-4270 introduced a bug in the path to the generated 
header files in the generated Erlang code. Previously the `-include` directives 
did not specify a path, but after the THRIFT-4270 change the `-include` 
directive has the "gen-erl" directory as part of the path.

Example include directive before the change:
{noformat}
-include("constants_demo_types.hrl").
{noformat}

Example include directive after the change:
{noformat}
-include("test/gen-erl/constants_demo_types.hrl").
{noformat}

  was:My code change in THRIFT-4270 introduced a bug in the path to the 
generated header files in the generated Erlang code. Previously the `-include` 
directives did not specify a path, but after the THRIFT-4270 change the 
`-include` directive has the "gen-erl" directory as part of the path.


> Wrong path in include directive in generated Thrift sources
> ---
>
> Key: THRIFT-4279
> URL: https://issues.apache.org/jira/browse/THRIFT-4279
> Project: Thrift
>  Issue Type: Bug
>  Components: Erlang - Compiler
>Reporter: David Hull
>Priority: Minor
>
> My code change in THRIFT-4270 introduced a bug in the path to the generated 
> header files in the generated Erlang code. Previously the `-include` 
> directives did not specify a path, but after the THRIFT-4270 change the 
> `-include` directive has the "gen-erl" directory as part of the path.
> Example include directive before the change:
> {noformat}
> -include("constants_demo_types.hrl").
> {noformat}
> Example include directive after the change:
> {noformat}
> -include("test/gen-erl/constants_demo_types.hrl").
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Created] (THRIFT-4280) Add async nonblocking ssl support in java client

2017-08-08 Thread Randy Abernethy (JIRA)
Randy Abernethy created THRIFT-4280:
---

 Summary: Add async nonblocking ssl support in java client
 Key: THRIFT-4280
 URL: https://issues.apache.org/jira/browse/THRIFT-4280
 Project: Thrift
  Issue Type: Bug
  Components: Java - Library
Affects Versions: 0.10.0
Reporter: Randy Abernethy
Priority: Minor
 Fix For: 0.10.0


Add async nonblocking ssl support in java client



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (THRIFT-4277) Cannot get any data value using node.js

2017-08-08 Thread Jens Geyer (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-4277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-4277:
---
Description: 
When using Thift to generate js code, all property value are `undefined`, 
because of an extra `.value`. This bug makes Node.js cannot use Thrift anymore.

generated code:
{{this.groupId = input.readString().value // got undefined}}

should be
{{this.groupId = input.readString() // works fine}}

  was:
When using Thift to generate js code, all property value are `undefined`, 
because of an extra `.value`. This bug makes Node.js cannot use Thrift anymore.

generated code:
this.groupId = input.readString().value // got undefined

should be
this.groupId = input.readString() // works fine


> Cannot get any data value using node.js
> ---
>
> Key: THRIFT-4277
> URL: https://issues.apache.org/jira/browse/THRIFT-4277
> Project: Thrift
>  Issue Type: Bug
>  Components: Node.js - Compiler
>Affects Versions: 0.10.0
>Reporter: TianYI Wen
>
> When using Thift to generate js code, all property value are `undefined`, 
> because of an extra `.value`. This bug makes Node.js cannot use Thrift 
> anymore.
> generated code:
> {{this.groupId = input.readString().value // got undefined}}
> should be
> {{this.groupId = input.readString() // works fine}}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (THRIFT-4277) Cannot get any data value using node.js

2017-08-08 Thread Jens Geyer (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118949#comment-16118949
 ] 

Jens Geyer commented on THRIFT-4277:


Are you able to [provide a patch or pull 
request|http://thrift.apache.org/docs/HowToContribute]?

> Cannot get any data value using node.js
> ---
>
> Key: THRIFT-4277
> URL: https://issues.apache.org/jira/browse/THRIFT-4277
> Project: Thrift
>  Issue Type: Bug
>  Components: Node.js - Compiler
>Affects Versions: 0.10.0
>Reporter: TianYI Wen
>
> When using Thift to generate js code, all property value are `undefined`, 
> because of an extra `.value`. This bug makes Node.js cannot use Thrift 
> anymore.
> generated code:
> {{this.groupId = input.readString().value // got undefined}}
> should be
> {{this.groupId = input.readString() // works fine}}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (THRIFT-4278) Thrift Node.js library crashes app

2017-08-08 Thread Jens Geyer (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-4278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-4278:
---
Description: 
Create TBufferedTransport by using its receiver funciton. and using 
TCompactProtocol to communicate. But this object lack of `rstack` and `rpos`. 
It make app crash.


details:

{code title:thrift file}
  struct CliRoomData
  {
10: i32 roomId
20: string roomName
30: i32 masterUserId
40: map mapUserData   // key: 
user id value: CliRoomUserData
50: map mapLevelData // key: 
level idvalue: CliRoomLevelData
60: optional string groupId
  }

{code}

generated code which crashes the app:

{code}
// input haven't property `rstack` and `rpos`
if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) { 
input.rstack.pop();
}
{code}

code about the crash

{code}
  const entity = new Protocols[className]() // create the thrift object to read 
from protocol
return new Promise((resolve, reject) => {
const receiver = thrift.TBufferedTransport.receiver((reader) => { // 
create buffered using library
const protocol = new thrift.TCompactProtocol(reader)
entity.read(protocol) // crash the app
resolve(entity)
})
receiver(payload)
})

{code}


  was:
Create TBufferedTransport by using its receiver funciton. and using 
TCompactProtocol to communicate. But this object lack of `rstack` and `rpos`. 
It make app crash.

Is thrift library tested before release?

details:

thrift file
struct CliRoomData
{
10: i32 roomId
20: string roomName
30: i32 masterUserId
40: map mapUserData   // key: 
user id value: CliRoomUserData
50: map mapLevelData // key: 
level idvalue: CliRoomLevelData
60: optional string groupId
}

generated code which crashes the app:

// input haven't property `rstack` and `rpos`
if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) { 
input.rstack.pop();
}

code about the crash

  const entity = new Protocols[className]() // create the thrift object to read 
from protocol
return new Promise((resolve, reject) => {
const receiver = thrift.TBufferedTransport.receiver((reader) => { // 
create buffered using library
const protocol = new thrift.TCompactProtocol(reader)
entity.read(protocol) // crash the app
resolve(entity)
})
receiver(payload)
})


> Thrift Node.js library crashes app
> --
>
> Key: THRIFT-4278
> URL: https://issues.apache.org/jira/browse/THRIFT-4278
> Project: Thrift
>  Issue Type: Bug
>  Components: Node.js - Library
>Affects Versions: 0.10.0
>Reporter: TianYI Wen
>
> Create TBufferedTransport by using its receiver funciton. and using 
> TCompactProtocol to communicate. But this object lack of `rstack` and `rpos`. 
> It make app crash.
> details:
> {code title:thrift file}
>   struct CliRoomData
>   {
>   10: i32 roomId
>   20: string roomName
>   30: i32 masterUserId
>   40: map mapUserData   // key: 
> user id value: CliRoomUserData
>   50: map mapLevelData // key: 
> level idvalue: CliRoomLevelData
>   60: optional string groupId
>   }
> {code}
> generated code which crashes the app:
> {code}
> // input haven't property `rstack` and `rpos`
> if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) { 
> input.rstack.pop();
> }
> {code}
> code about the crash
> {code}
>   const entity = new Protocols[className]() // create the thrift object to 
> read from protocol
> return new Promise((resolve, reject) => {
> const receiver = thrift.TBufferedTransport.receiver((reader) => { // 
> create buffered using library
> const protocol = new thrift.TCompactProtocol(reader)
> entity.read(protocol) // crash the app
> resolve(entity)
> })
> receiver(payload)
> })
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Updated] (THRIFT-4278) Thrift Node.js library crashes app

2017-08-08 Thread Jens Geyer (JIRA)

 [ 
https://issues.apache.org/jira/browse/THRIFT-4278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jens Geyer updated THRIFT-4278:
---
Description: 
Create TBufferedTransport by using its receiver funciton. and using 
TCompactProtocol to communicate. But this object lack of `rstack` and `rpos`. 
It make app crash.


details:

{code}
  struct CliRoomData
  {
10: i32 roomId
20: string roomName
30: i32 masterUserId
40: map mapUserData   // key: 
user id value: CliRoomUserData
50: map mapLevelData // key: 
level idvalue: CliRoomLevelData
60: optional string groupId
  }

{code}

generated code which crashes the app:

{code}
// input haven't property `rstack` and `rpos`
if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) { 
input.rstack.pop();
}
{code}

code about the crash

{code}
  const entity = new Protocols[className]() // create the thrift object to read 
from protocol
return new Promise((resolve, reject) => {
const receiver = thrift.TBufferedTransport.receiver((reader) => { // 
create buffered using library
const protocol = new thrift.TCompactProtocol(reader)
entity.read(protocol) // crash the app
resolve(entity)
})
receiver(payload)
})

{code}


  was:
Create TBufferedTransport by using its receiver funciton. and using 
TCompactProtocol to communicate. But this object lack of `rstack` and `rpos`. 
It make app crash.


details:

{code title:thrift file}
  struct CliRoomData
  {
10: i32 roomId
20: string roomName
30: i32 masterUserId
40: map mapUserData   // key: 
user id value: CliRoomUserData
50: map mapLevelData // key: 
level idvalue: CliRoomLevelData
60: optional string groupId
  }

{code}

generated code which crashes the app:

{code}
// input haven't property `rstack` and `rpos`
if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) { 
input.rstack.pop();
}
{code}

code about the crash

{code}
  const entity = new Protocols[className]() // create the thrift object to read 
from protocol
return new Promise((resolve, reject) => {
const receiver = thrift.TBufferedTransport.receiver((reader) => { // 
create buffered using library
const protocol = new thrift.TCompactProtocol(reader)
entity.read(protocol) // crash the app
resolve(entity)
})
receiver(payload)
})

{code}



> Thrift Node.js library crashes app
> --
>
> Key: THRIFT-4278
> URL: https://issues.apache.org/jira/browse/THRIFT-4278
> Project: Thrift
>  Issue Type: Bug
>  Components: Node.js - Library
>Affects Versions: 0.10.0
>Reporter: TianYI Wen
>
> Create TBufferedTransport by using its receiver funciton. and using 
> TCompactProtocol to communicate. But this object lack of `rstack` and `rpos`. 
> It make app crash.
> details:
> {code}
>   struct CliRoomData
>   {
>   10: i32 roomId
>   20: string roomName
>   30: i32 masterUserId
>   40: map mapUserData   // key: 
> user id value: CliRoomUserData
>   50: map mapLevelData // key: 
> level idvalue: CliRoomLevelData
>   60: optional string groupId
>   }
> {code}
> generated code which crashes the app:
> {code}
> // input haven't property `rstack` and `rpos`
> if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) { 
> input.rstack.pop();
> }
> {code}
> code about the crash
> {code}
>   const entity = new Protocols[className]() // create the thrift object to 
> read from protocol
> return new Promise((resolve, reject) => {
> const receiver = thrift.TBufferedTransport.receiver((reader) => { // 
> create buffered using library
> const protocol = new thrift.TCompactProtocol(reader)
> entity.read(protocol) // crash the app
> resolve(entity)
> })
> receiver(payload)
> })
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118943#comment-16118943
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132017398
  
--- Diff: lib/cpp/README.md ---
@@ -55,15 +54,22 @@ you are using libthriftnb you will also need libevent.
 
 ## Dependencies
 
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+If your C++ environment implements C++11 or later, boost will 
automatically use
--- End diff --

Fixed.


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - Compiler
>Affects Versions: 0.9.1
> Environment: C++11 compilers with std::shared_ptr support
>Reporter: Chris Stylianou
>Assignee: James E. King, III
>  Labels: c++11, compiler, thrift
>
> Most modern compilers now have full support for std::shared_ptr when enable 
> with c++11 flags. It would be nice to have the option to generate code that 
> uses this instead of boost::shared_ptr. This would enable us to remove 
> another boost dependency, on the road to a dependency-free thrift library :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread jeking3
Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132017398
  
--- Diff: lib/cpp/README.md ---
@@ -55,15 +54,22 @@ you are using libthriftnb you will also need libevent.
 
 ## Dependencies
 
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+If your C++ environment implements C++11 or later, boost will 
automatically use
--- End diff --

Fixed.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118931#comment-16118931
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132013793
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
+#include 
+  #endif
+#endif
+
+namespace apache { namespace thrift { namespace stdcxx {
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+
+  using ::boost::const_pointer_cast;
+  using ::boost::dynamic_pointer_cast;
+  using ::boost::enable_shared_from_this;
+  using ::boost::make_shared;
+  using ::boost::scoped_ptr;
+  using ::boost::shared_ptr;
+  using ::boost::static_pointer_cast;
+  using ::boost::weak_ptr;
+
+#else
+
+  using ::std::const_pointer_cast;
+  using ::std::dynamic_pointer_cast;
+  using ::std::enable_shared_from_this;
+  using ::std::make_shared;
+  // yes, they renamed in in std:: for some reason...
--- End diff --

I removed it in the last PR.


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - 

[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118932#comment-16118932
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132013921
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
--- End diff --

Cleaned up in the last push.


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - Compiler
>Affects Versions: 0.9.1
> Environment: C++11 compilers with std::shared_ptr support
>Reporter: Chris Stylianou
>Assignee: James E. King, III
>  Labels: c++11, compiler, thrift
>
> Most modern compilers now have full support for std::shared_ptr when enable 
> with c++11 flags. It would be nice to have the option to generate code that 
> uses this instead of boost::shared_ptr. This would enable us to remove 
> another boost dependency, on the road to a dependency-free thrift library :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread jeking3
Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132013921
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
--- End diff --

Cleaned up in the last push.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread jeking3
Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132013793
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
+#include 
+  #endif
+#endif
+
+namespace apache { namespace thrift { namespace stdcxx {
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+
+  using ::boost::const_pointer_cast;
+  using ::boost::dynamic_pointer_cast;
+  using ::boost::enable_shared_from_this;
+  using ::boost::make_shared;
+  using ::boost::scoped_ptr;
+  using ::boost::shared_ptr;
+  using ::boost::static_pointer_cast;
+  using ::boost::weak_ptr;
+
+#else
+
+  using ::std::const_pointer_cast;
+  using ::std::dynamic_pointer_cast;
+  using ::std::enable_shared_from_this;
+  using ::std::make_shared;
+  // yes, they renamed in in std:: for some reason...
--- End diff --

I removed it in the last PR.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread jeking3
Github user jeking3 commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r132013676
  
--- Diff: lib/cpp/README.md ---
@@ -55,15 +54,22 @@ you are using libthriftnb you will also need libevent.
 
 ## Dependencies
 
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+If your C++ environment implements C++11 or later, boost will 
automatically use
--- End diff --

Got it, I can correct this.  I'm still dealing with aligning the stars on 
this one.  Lots of namespace and using cleanup, and we will no longer work with 
Visual Studio 2010 and 2012 in C++0x/C++11 mode; 2013 will be required for 
C++11 because the solution requires template aliases.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118758#comment-16118758
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user octopus-prime commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131985807
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
--- End diff --

What is this test/include for? BOOST_NO_CXX11_SMART_PTR told us above that 
c++11 smart pointers are available.


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - Compiler
>Affects Versions: 0.9.1
> Environment: C++11 compilers with std::shared_ptr support
>Reporter: Chris Stylianou
>Assignee: James E. King, III
>  Labels: c++11, compiler, thrift
>
> Most modern compilers now have full support for std::shared_ptr when enable 
> with c++11 flags. It would be nice to have the option to generate code that 
> uses this instead of boost::shared_ptr. This would enable us to remove 
> another boost dependency, on the road to a dependency-free thrift library :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread octopus-prime
Github user octopus-prime commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131985807
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
--- End diff --

What is this test/include for? BOOST_NO_CXX11_SMART_PTR told us above that 
c++11 smart pointers are available.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118751#comment-16118751
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user octopus-prime commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131985042
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
--- End diff --

What is this test for? BOOST_NO_CXX11_SMART_PTR told us above that c++11 
samart pointers are available.


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - Compiler
>Affects Versions: 0.9.1
> Environment: C++11 compilers with std::shared_ptr support
>Reporter: Chris Stylianou
>Assignee: James E. King, III
>  Labels: c++11, compiler, thrift
>
> Most modern compilers now have full support for std::shared_ptr when enable 
> with c++11 flags. It would be nice to have the option to generate code that 
> uses this instead of boost::shared_ptr. This would enable us to remove 
> another boost dependency, on the road to a dependency-free thrift library :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread octopus-prime
Github user octopus-prime commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131985042
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
--- End diff --

What is this test for? BOOST_NO_CXX11_SMART_PTR told us above that c++11 
samart pointers are available.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Created] (THRIFT-4279) Wrong path in include directive in generated Thrift sources

2017-08-08 Thread David Hull (JIRA)
David Hull created THRIFT-4279:
--

 Summary: Wrong path in include directive in generated Thrift 
sources
 Key: THRIFT-4279
 URL: https://issues.apache.org/jira/browse/THRIFT-4279
 Project: Thrift
  Issue Type: Bug
  Components: Erlang - Compiler
Reporter: David Hull
Priority: Minor


My code change in THRIFT-4270 introduced a bug in the path to the generated 
header files in the generated Erlang code. Previously the `-include` directives 
did not specify a path, but after the THRIFT-4270 change the `-include` 
directive has the "gen-erl" directory as part of the path.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118619#comment-16118619
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user hcorg commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131968863
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
+#include 
+  #endif
+#endif
+
+namespace apache { namespace thrift { namespace stdcxx {
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+
+  using ::boost::const_pointer_cast;
+  using ::boost::dynamic_pointer_cast;
+  using ::boost::enable_shared_from_this;
+  using ::boost::make_shared;
+  using ::boost::scoped_ptr;
+  using ::boost::shared_ptr;
+  using ::boost::static_pointer_cast;
+  using ::boost::weak_ptr;
+
+#else
+
+  using ::std::const_pointer_cast;
+  using ::std::dynamic_pointer_cast;
+  using ::std::enable_shared_from_this;
+  using ::std::make_shared;
+  // yes, they renamed in in std:: for some reason...
--- End diff --

unnecessary comment - `scoped_ptr` and `unique_ptr` are quite different 
(`scoped_ptr` can't be moved) so it's not like standard committee did something 
wrong ;) (at least with naming it `unique_ptr`)


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221

[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread hcorg
Github user hcorg commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131968863
  
--- Diff: lib/cpp/src/thrift/stdcxx.h ---
@@ -0,0 +1,137 @@
+/*
+ * 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.
+ */
+
+#ifndef _THRIFT_STDCXX_H_
+#define _THRIFT_STDCXX_H_ 1
+
+#include 
+
+///
+//
+// functional (function, bind)
+//
+///
+
+#if defined(BOOST_NO_CXX11_HDR_FUNCTIONAL)
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _MSC_VER == 1600
+#include 
+#define _THRIFT_FUNCTIONAL_TR1_ 1
+#endif
+
+#if _THRIFT_FUNCTIONAL_TR1_
+
+  namespace apache { namespace thrift { namespace stdcxx {
+
+using ::std::tr1::bind;
+using ::std::tr1::function;
+
+namespace placeholders {
+  using ::std::tr1::placeholders::_1;
+  using ::std::tr1::placeholders::_2;
+  using ::std::tr1::placeholders::_3;
+  using ::std::tr1::placeholders::_4;
+  using ::std::tr1::placeholders::_5;
+  using ::std::tr1::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#else
+
+  #include 
+
+  namespace apache { namespace thrift { namespace stdcxx {
+using ::std::bind;
+using ::std::function;
+
+namespace placeholders {
+  using ::std::placeholders::_1;
+  using ::std::placeholders::_2;
+  using ::std::placeholders::_3;
+  using ::std::placeholders::_4;
+  using ::std::placeholders::_5;
+  using ::std::placeholders::_6;
+} // apache::thrift::stdcxx::placeholders
+  }}} // apache::thrift::stdcxx
+
+#endif
+
+///
+//
+// Smart Pointers
+//
+///
+
+//
+// This is for debugging build issues in CI:
+//
+#if 0
+#define STRING2(x) #x
+#define STRING(x) STRING2(x)
+#pragma message(STRING(__clang__))
+#pragma message(STRING(__clang_version__))
+#pragma message(STRING(__cplusplus))
+#pragma message(STRING(__GNUC__))
+#pragma message(STRING(__GNUC_MINOR__))
+#pragma message(STRING(__GNUC_PATCHLEVEL__))
+#pragma message(STRING(__cpp_alias_templates))
+#endif
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+#include 
+#else
+#include 
+  #if __cplusplus < 201103L
+#include 
+  #endif
+#endif
+
+namespace apache { namespace thrift { namespace stdcxx {
+
+#if defined(BOOST_NO_CXX11_SMART_PTR) || defined(FORCE_BOOST_SMART_PTR)
+
+  using ::boost::const_pointer_cast;
+  using ::boost::dynamic_pointer_cast;
+  using ::boost::enable_shared_from_this;
+  using ::boost::make_shared;
+  using ::boost::scoped_ptr;
+  using ::boost::shared_ptr;
+  using ::boost::static_pointer_cast;
+  using ::boost::weak_ptr;
+
+#else
+
+  using ::std::const_pointer_cast;
+  using ::std::dynamic_pointer_cast;
+  using ::std::enable_shared_from_this;
+  using ::std::make_shared;
+  // yes, they renamed in in std:: for some reason...
--- End diff --

unnecessary comment - `scoped_ptr` and `unique_ptr` are quite different 
(`scoped_ptr` can't be moved) so it's not like standard committee did something 
wrong ;) (at least with naming it `unique_ptr`)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-2221) Generate c++ code with std::shared_ptr instead of boost::shared_ptr.

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-2221?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118614#comment-16118614
 ] 

ASF GitHub Bot commented on THRIFT-2221:


Github user hcorg commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131968203
  
--- Diff: lib/cpp/README.md ---
@@ -55,15 +54,22 @@ you are using libthriftnb you will also need libevent.
 
 ## Dependencies
 
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+If your C++ environment implements C++11 or later, boost will 
automatically use
--- End diff --

Even if boost itself provides mapping to `std::` pointers, next sentence 
suggests that boost is not needed. Some little clean up could help confused 
users ;) (this is also first place in README.md where boost is mentioned, hence 
the potential confusion)


> Generate c++ code with std::shared_ptr instead of boost::shared_ptr.
> 
>
> Key: THRIFT-2221
> URL: https://issues.apache.org/jira/browse/THRIFT-2221
> Project: Thrift
>  Issue Type: Improvement
>  Components: C++ - Compiler
>Affects Versions: 0.9.1
> Environment: C++11 compilers with std::shared_ptr support
>Reporter: Chris Stylianou
>Assignee: James E. King, III
>  Labels: c++11, compiler, thrift
>
> Most modern compilers now have full support for std::shared_ptr when enable 
> with c++11 flags. It would be nice to have the option to generate code that 
> uses this instead of boost::shared_ptr. This would enable us to remove 
> another boost dependency, on the road to a dependency-free thrift library :)



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread hcorg
Github user hcorg commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131968203
  
--- Diff: lib/cpp/README.md ---
@@ -55,15 +54,22 @@ you are using libthriftnb you will also need libevent.
 
 ## Dependencies
 
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+If your C++ environment implements C++11 or later, boost will 
automatically use
--- End diff --

Even if boost itself provides mapping to `std::` pointers, next sentence 
suggests that boost is not needed. Some little clean up could help confused 
users ;) (this is also first place in README.md where boost is mentioned, hence 
the potential confusion)


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[GitHub] thrift pull request #1328: THRIFT-2221: detect C++11 and use std namespace f...

2017-08-08 Thread hcorg
Github user hcorg commented on a diff in the pull request:

https://github.com/apache/thrift/pull/1328#discussion_r131966861
  
--- Diff: lib/cpp/README.md ---
@@ -55,15 +54,22 @@ you are using libthriftnb you will also need libevent.
 
 ## Dependencies
 
-boost shared pointers
-http://www.boost.org/libs/smart_ptr/smart_ptr.htm
+If your C++ environment implements C++11 or later, boost will 
automatically use
--- End diff --

`If your C++ environment implements C++11 or later, boost will 
automatically use` - boost or Thrift?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---


[jira] [Commented] (THRIFT-4233) Make THsHaServer.invoker available (get method only) in inherited classes

2017-08-08 Thread ASF GitHub Bot (JIRA)

[ 
https://issues.apache.org/jira/browse/THRIFT-4233?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16118577#comment-16118577
 ] 

ASF GitHub Bot commented on THRIFT-4233:


Github user dmvolod commented on the issue:

https://github.com/apache/thrift/pull/1294
  
Is there any chance to review this changes?


> Make THsHaServer.invoker available (get method only) in inherited classes
> -
>
> Key: THRIFT-4233
> URL: https://issues.apache.org/jira/browse/THRIFT-4233
> Project: Thrift
>  Issue Type: Improvement
>  Components: Java - Library
>Affects Versions: 0.10.0
>Reporter: Dmitry Volodin
>
> In some cases (for example in Apache Camel component for Thrift) there is a 
> requirement, when it is necessary not only to transfer executorService from 
> the external system through the Args in THsHaServer , but to organize control 
> them from outside. In this case, it's possible to create a class which is 
> inherited from THsHaServer, but not possible to access invoker in overloaded 
> gracefullyShutdownInvokerPool(). As workaround the TNonblockingServer must be 
> extended but requires to create several methods from scratch.
> It's necessary to add code below to THsHaServer
> {code:java}
> protected ExecutorService getInvoker() {
>   return invoker;
> }
> {code}
> I'm ready to add this code as PR.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)


[GitHub] thrift issue #1294: THRIFT-4233 Make THsHaServer.invoker available (get meth...

2017-08-08 Thread dmvolod
Github user dmvolod commented on the issue:

https://github.com/apache/thrift/pull/1294
  
Is there any chance to review this changes?


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---