)]}'
{"src/main/java/net/spy/memcached/ops/TouchOperation.java":[{"author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3bda7847f3f4351709ae692a28c0ae8bf3cac0f5","unresolved":false,"context_lines":[{"line_number":20,"context_line":" * IN THE SOFTWARE."},{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"package net.spy.memcached.ops;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"/**"},{"line_number":26,"context_line":" * Touch operation marker."}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACTn%2F%2F85M%3D","line":23,"updated":"2013-05-29 12:26:54.000000000","message":"We need to rethink this part.. everything thats in this namespace gets used by both the ascii and binary protocol.\n\nthe binary touch currently uses the more generic OperationCallback, so we *might* want to unify that.\n\nAlso, in the ascii factory you\u0027re passing the OperationCallback (?)","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"4d917a607291b57470d94d090d81ed204481aa8b","unresolved":false,"context_lines":[{"line_number":20,"context_line":" * IN THE SOFTWARE."},{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"package net.spy.memcached.ops;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"/**"},{"line_number":26,"context_line":" * Touch operation marker."}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACT3%2F%2F%2Fwk%3D","line":23,"in_reply_to":"AAACT3%2F%2F%2F%2Fo%3D","updated":"2013-06-06 13:16:21.000000000","message":"Jeah, I\u0027d say we should stick to the current codebase and then get around refactoring in a separate changeset - are you good with that?","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000439,"name":"Matt Weiden","username":"mweiden","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"inactive":true},"change_message_id":"3c886724afde27c96f272e00183ec06ba0bd401e","unresolved":false,"context_lines":[{"line_number":20,"context_line":" * IN THE SOFTWARE."},{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"package net.spy.memcached.ops;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"/**"},{"line_number":26,"context_line":" * Touch operation marker."}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACT3%2F%2F%2FwU%3D","line":23,"in_reply_to":"AAACT3%2F%2F%2Fwk%3D","updated":"2013-06-06 13:32:57.000000000","message":"Ah! Just saw this comment. I did stick with the current codebase. The new interface is just used by ascii.\n\nIs this OK?","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000439,"name":"Matt Weiden","username":"mweiden","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"inactive":true},"change_message_id":"c4aaf15b7dc827b18dfa8a64e1a61f6641c03c3c","unresolved":false,"context_lines":[{"line_number":20,"context_line":" * IN THE SOFTWARE."},{"line_number":21,"context_line":" */"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"package net.spy.memcached.ops;"},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"/**"},{"line_number":26,"context_line":" * Touch operation marker."}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACT3%2F%2F%2F%2Fo%3D","line":23,"in_reply_to":"AAACTn%2F%2F85M%3D","updated":"2013-06-06 13:01:46.000000000","message":"For consistency I think it should be unified with the binary protocol. It seems strange that in the BinaryConnectionFactory that all the methods return an instance of a class dedicated to that type of action _except_ touch.\n\nResolving this sounds like like a separate branch, however... right?","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000013,"name":"Matt Ingenthron","email":"ingenthr@gmail.com","username":"ingenthr","avatars":[{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/dface45e4481ef6bd571492fa3b4ef8c.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"a7544af7a661580e851f3714d96b2be3baff31ca","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/**"},{"line_number":2,"context_line":" * Copyright (C) 2013 SoundCloud, Ltd."},{"line_number":3,"context_line":" *"},{"line_number":4,"context_line":" * Permission is hereby granted, free of charge, to any person obtaining a copy"},{"line_number":5,"context_line":" * of this software and associated documentation files (the \"Software\"), to deal"},{"line_number":6,"context_line":" * in the Software without restriction, including without limitation the rights"},{"line_number":7,"context_line":" * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell"}],"source_content_type":"text/x-java","patch_set":5,"id":"AAACT3%2F%2F90A%3D","line":4,"updated":"2013-06-25 13:52:59.000000000","message":"While there\u0027s no significant problem with the copyright and license, it\u0027s also slightly inconsistent with the rest of the files in the project and it violates our formatting rules.\n\nMatt: do you or your employer require this?\n\nI definitely want to give credit, but there\u0027s no reason for the license block to be here and we don\u0027t normally add copyright in the project on a per-file basis.","commit_id":"f697f228cce1691c8bad8f7a7630fc5f1cfc1b1b"},{"author":{"_account_id":1000439,"name":"Matt Weiden","username":"mweiden","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"inactive":true},"change_message_id":"d12902baa9abdbe9d2252f5ef59ce248953d40e7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"/**"},{"line_number":2,"context_line":" * Copyright (C) 2013 SoundCloud, Ltd."},{"line_number":3,"context_line":" *"},{"line_number":4,"context_line":" * Permission is hereby granted, free of charge, to any person obtaining a copy"},{"line_number":5,"context_line":" * of this software and associated documentation files (the \"Software\"), to deal"},{"line_number":6,"context_line":" * in the Software without restriction, including without limitation the rights"},{"line_number":7,"context_line":" * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell"}],"source_content_type":"text/x-java","patch_set":5,"id":"AAACT3%2F%2F9z4%3D","line":4,"in_reply_to":"AAACT3%2F%2F90A%3D","updated":"2013-06-25 14:03:07.000000000","message":"I do not think it\u0027s required by SoundCloud. Changing it should not be a problem.\n\nWill you modify this since I do not know the correct convention?","commit_id":"f697f228cce1691c8bad8f7a7630fc5f1cfc1b1b"}],"src/main/java/net/spy/memcached/protocol/ascii/OperationImpl.java":[{"author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3bda7847f3f4351709ae692a28c0ae8bf3cac0f5","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  private OperationReadType readType \u003d OperationReadType.LINE;"},{"line_number":47,"context_line":"  private boolean foundCr \u003d false;"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  protected short vbucket \u003d 0;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  protected OperationImpl() {"},{"line_number":52,"context_line":"    super();"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACTn%2F%2F85I%3D","line":49,"updated":"2013-05-29 12:26:54.000000000","message":"No vbucket in ascii!\n (see other comments)","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000439,"name":"Matt Weiden","username":"mweiden","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"inactive":true},"change_message_id":"c4aaf15b7dc827b18dfa8a64e1a61f6641c03c3c","unresolved":false,"context_lines":[{"line_number":46,"context_line":"  private OperationReadType readType \u003d OperationReadType.LINE;"},{"line_number":47,"context_line":"  private boolean foundCr \u003d false;"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  protected short vbucket \u003d 0;"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"  protected OperationImpl() {"},{"line_number":52,"context_line":"    super();"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACT3%2F%2F%2F%2Fk%3D","line":49,"in_reply_to":"AAACTn%2F%2F85I%3D","updated":"2013-06-06 13:01:46.000000000","message":"OK gotcha","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"}],"src/main/java/net/spy/memcached/protocol/ascii/SingleKeyOperationImpl.java":[{"author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3bda7847f3f4351709ae692a28c0ae8bf3cac0f5","unresolved":false,"context_lines":[{"line_number":34,"context_line":" * ASCII operations that contain a single key and are VBucket aware operations"},{"line_number":35,"context_line":" * should extend this class."},{"line_number":36,"context_line":" */"},{"line_number":37,"context_line":"abstract class SingleKeyOperationImpl extends OperationImpl implements"},{"line_number":38,"context_line":"    VBucketAware, KeyedOperation {"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  protected final String key;"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACTn%2F%2F85E%3D","line":37,"updated":"2013-05-29 12:26:54.000000000","message":"Note that vbuckets are a \"couchbase thing\" and not really belong to spymemcached. That said, I know its in binary and thats because couchbase only supports binary!\n\nSo there is no need to add vbucket-awareness to ascii commands.. this should reduce the PR by quite a bit","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000439,"name":"Matt Weiden","username":"mweiden","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"inactive":true},"change_message_id":"c4aaf15b7dc827b18dfa8a64e1a61f6641c03c3c","unresolved":false,"context_lines":[{"line_number":34,"context_line":" * ASCII operations that contain a single key and are VBucket aware operations"},{"line_number":35,"context_line":" * should extend this class."},{"line_number":36,"context_line":" */"},{"line_number":37,"context_line":"abstract class SingleKeyOperationImpl extends OperationImpl implements"},{"line_number":38,"context_line":"    VBucketAware, KeyedOperation {"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"  protected final String key;"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACT3%2F%2F%2F%2Fg%3D","line":37,"in_reply_to":"AAACTn%2F%2F85E%3D","updated":"2013-06-06 13:01:46.000000000","message":"check","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"}],"src/test/java/net/spy/memcached/AsciiIPV6ClientTest.java":[{"author":{"_account_id":1000327,"name":"Michael Nitschinger","email":"michael.nitschinger@couchbase.com","username":"daschl","avatars":[{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/ca669dcaa36c077d54b96af979d77b9d.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}]},"change_message_id":"3bda7847f3f4351709ae692a28c0ae8bf3cac0f5","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    client \u003d new MemcachedClient(cf,"},{"line_number":36,"context_line":"            AddrUtil.getAddresses(TestConfig.IPV6_ADDR"},{"line_number":37,"context_line":"            + \":\" + TestConfig.PORT_NUMBER));"},{"line_number":38,"context_line":"    client.flush().get();"},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  @Override"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACTn%2F%2F85A%3D","line":38,"updated":"2013-05-29 12:26:54.000000000","message":"is that needed for your test cases?","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"},{"author":{"_account_id":1000439,"name":"Matt Weiden","username":"mweiden","avatars":[{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d32","height":32},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d56","height":56},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d100","height":100},{"url":"https://www.gravatar.com/avatar/00000000000000000000000000000000.jpg?d\u003didenticon\u0026r\u003dpg\u0026s\u003d120","height":120}],"inactive":true},"change_message_id":"c4aaf15b7dc827b18dfa8a64e1a61f6641c03c3c","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    client \u003d new MemcachedClient(cf,"},{"line_number":36,"context_line":"            AddrUtil.getAddresses(TestConfig.IPV6_ADDR"},{"line_number":37,"context_line":"            + \":\" + TestConfig.PORT_NUMBER));"},{"line_number":38,"context_line":"    client.flush().get();"},{"line_number":39,"context_line":"  }"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"  @Override"}],"source_content_type":"text/x-java","patch_set":1,"id":"AAACT3%2F%2F%2FyU%3D","line":38,"in_reply_to":"AAACTn%2F%2F85A%3D","updated":"2013-06-06 13:01:46.000000000","message":"No.\n\nThis is an artifact from my attempts to get the test suite working... for a while I thought that the test suite was multithreaded.\n\nRemoving this.","commit_id":"a3402b34237f377999bc60ab8a1e262fdb653ed2"}]}
