├── .gitignore ├── Dockerfile ├── Godeps ├── Godeps.json └── Readme ├── README.md ├── VERSION ├── actor ├── actor_demo1.go ├── actor_demo2.go ├── actor_demo3.go └── chat │ ├── build.bat │ ├── client.go │ ├── protos.pb.go │ ├── protos.proto │ └── server.go ├── benchmark ├── div.go └── div_test.go ├── ch1 ├── common │ └── common_func.go ├── error_demo.go ├── function_demo.go ├── var_demo.go └── workflow_demo.go ├── ch2 ├── common │ ├── intf_package.go │ ├── oop_package.go │ └── type_package.go ├── intf_demo.go ├── oop_demo.go └── type_demo.go ├── ch3 ├── channel_all.go ├── channel_demo1.go ├── channel_demo2.go ├── channel_demo3.go ├── channel_demo4.go ├── channel_pool.go └── channel_rating.go ├── conf └── crawel.yaml ├── context ├── context_demo1.go └── context_demo2.go ├── deploy ├── docker-compose │ ├── daemon.json │ └── docker-compose.yaml └── kubernetes │ └── godemo.yaml ├── gin ├── gin_demo.go └── index.html ├── goquery ├── goquery_demo1.go └── goquery_demo2.go ├── http ├── http_demo1.go ├── server_demo.go └── socket_demo.go ├── io └── io_demo1.go ├── jenkins-kube └── Dockerfile ├── login ├── db.sqlite ├── index.html └── login.go ├── print └── print_demo.go ├── rpcx ├── client.go ├── defaultcodec │ └── defaultcodec.go ├── gencode │ ├── gencode.go │ └── gencode.schema └── server.go ├── rxgo └── rxgo_demo.go ├── selenium └── selenium_demo1.go ├── test ├── equal.go └── equal_test.go └── vendor ├── github.com ├── AsynkronIT │ ├── goconsole │ │ ├── .gitignore │ │ ├── LICENSE │ │ └── console.go │ └── protoactor-go │ │ ├── LICENSE │ │ ├── actor │ │ ├── actor.go │ │ ├── behaviorstack.go │ │ ├── build.bat │ │ ├── child_restart_stats.go │ │ ├── context.go │ │ ├── deadletter.go │ │ ├── directive.go │ │ ├── directive_string.go │ │ ├── doc.go │ │ ├── future.go │ │ ├── local_context.go │ │ ├── local_process.go │ │ ├── log.go │ │ ├── mailbox.go │ │ ├── message_envelope.go │ │ ├── message_producer.go │ │ ├── messages.go │ │ ├── middleware_chain.go │ │ ├── options.go │ │ ├── pid.go │ │ ├── pidset.go │ │ ├── process.go │ │ ├── process_registry.go │ │ ├── props.go │ │ ├── protos.pb.go │ │ ├── protos.proto │ │ ├── root_supervisor.go │ │ ├── spawn.go │ │ ├── strategy_all_for_one.go │ │ ├── strategy_exponential_backoff.go │ │ ├── strategy_one_for_one.go │ │ ├── strategy_restarting.go │ │ ├── supervision.go │ │ └── supervision_event.go │ │ ├── eventstream │ │ ├── doc.go │ │ └── eventstream.go │ │ ├── examples │ │ └── chat │ │ │ └── messages │ │ │ ├── build.bat │ │ │ ├── protos.pb.go │ │ │ └── protos.proto │ │ ├── internal │ │ └── queue │ │ │ ├── goring │ │ │ ├── LICENSE │ │ │ └── queue.go │ │ │ └── mpsc │ │ │ └── mpsc.go │ │ ├── log │ │ ├── encoder.go │ │ ├── event.go │ │ ├── field.go │ │ ├── log.go │ │ ├── options.go │ │ ├── stream.go │ │ └── string_encoder.go │ │ ├── mailbox │ │ ├── bounded.go │ │ ├── dispatcher.go │ │ ├── doc.go │ │ ├── log.go │ │ ├── mailbox.go │ │ ├── messages.go │ │ ├── queue.go │ │ ├── unbounded.go │ │ └── unbounded_lock_free.go │ │ └── remote │ │ ├── activator_actor.go │ │ ├── build.bat │ │ ├── build.sh │ │ ├── config.go │ │ ├── doc.go │ │ ├── endpoint_manager.go │ │ ├── endpoint_reader.go │ │ ├── endpoint_watcher.go │ │ ├── endpoint_writer.go │ │ ├── endpoint_writer_mailbox.go │ │ ├── json_serializer.go │ │ ├── log.go │ │ ├── messages.go │ │ ├── proto_serializer.go │ │ ├── protos.pb.go │ │ ├── protos.proto │ │ ├── remote_handler.go │ │ ├── remote_process.go │ │ ├── response_status_code.go │ │ ├── serializer.go │ │ └── server.go ├── PuerkitoBio │ └── goquery │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── array.go │ │ ├── doc.go │ │ ├── expand.go │ │ ├── filter.go │ │ ├── iteration.go │ │ ├── manipulation.go │ │ ├── property.go │ │ ├── query.go │ │ ├── traversal.go │ │ ├── type.go │ │ └── utilities.go ├── Workiva │ └── go-datastructures │ │ ├── LICENSE │ │ └── queue │ │ ├── error.go │ │ ├── priority_queue.go │ │ ├── queue.go │ │ └── ring.go ├── andybalholm │ └── cascadia │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── parser.go │ │ └── selector.go ├── blang │ └── semver │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── json.go │ │ ├── package.json │ │ ├── range.go │ │ ├── semver.go │ │ ├── sort.go │ │ └── sql.go ├── clipperhouse │ ├── linkedlist │ │ ├── .gitignore │ │ ├── linkedlistwriter.go │ │ └── templates.go │ ├── set │ │ ├── .gitignore │ │ ├── setwriter.go │ │ └── templates.go │ ├── slice │ │ ├── .gitignore │ │ ├── README.md │ │ ├── aggregate.go │ │ ├── all.go │ │ ├── any.go │ │ ├── average.go │ │ ├── count.go │ │ ├── distinct.go │ │ ├── distinctby.go │ │ ├── each.go │ │ ├── first.go │ │ ├── groupby.go │ │ ├── max.go │ │ ├── maxby.go │ │ ├── min.go │ │ ├── minby.go │ │ ├── select.go │ │ ├── shuffle.go │ │ ├── single.go │ │ ├── slice.go │ │ ├── slicewriter.go │ │ ├── sort.go │ │ ├── sortby.go │ │ ├── sortimplementation.go │ │ ├── sortinterface.go │ │ ├── sum.go │ │ ├── templates.go │ │ └── where.go │ ├── stringer │ │ ├── README.md │ │ ├── stringer.go │ │ └── stringerwriter.go │ └── typewriter │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── _gen.go │ │ ├── app.go │ │ ├── config.go │ │ ├── constraint.go │ │ ├── importspec.go │ │ ├── importspec_set.go │ │ ├── interface.go │ │ ├── itemtype_stringer.go │ │ ├── lex.go │ │ ├── package.go │ │ ├── parse.go │ │ ├── predicates.go │ │ ├── tag.go │ │ ├── tag_slice.go │ │ ├── template.go │ │ ├── template_slice.go │ │ ├── test.bat │ │ ├── test.sh │ │ └── type.go ├── coreos │ ├── etcd │ │ ├── LICENSE │ │ ├── NOTICE │ │ ├── auth │ │ │ └── authpb │ │ │ │ ├── auth.pb.go │ │ │ │ └── auth.proto │ │ ├── client │ │ │ ├── README.md │ │ │ ├── auth_role.go │ │ │ ├── auth_user.go │ │ │ ├── cancelreq.go │ │ │ ├── client.go │ │ │ ├── cluster_error.go │ │ │ ├── curl.go │ │ │ ├── discover.go │ │ │ ├── doc.go │ │ │ ├── keys.generated.go │ │ │ ├── keys.go │ │ │ ├── members.go │ │ │ └── util.go │ │ ├── clientv3 │ │ │ ├── README.md │ │ │ ├── auth.go │ │ │ ├── balancer.go │ │ │ ├── client.go │ │ │ ├── cluster.go │ │ │ ├── compact_op.go │ │ │ ├── compare.go │ │ │ ├── config.go │ │ │ ├── doc.go │ │ │ ├── kv.go │ │ │ ├── lease.go │ │ │ ├── logger.go │ │ │ ├── maintenance.go │ │ │ ├── op.go │ │ │ ├── retry.go │ │ │ ├── sort.go │ │ │ ├── txn.go │ │ │ └── watch.go │ │ ├── etcdserver │ │ │ ├── api │ │ │ │ └── v3rpc │ │ │ │ │ └── rpctypes │ │ │ │ │ ├── doc.go │ │ │ │ │ ├── error.go │ │ │ │ │ └── md.go │ │ │ └── etcdserverpb │ │ │ │ ├── etcdserver.pb.go │ │ │ │ ├── etcdserver.proto │ │ │ │ ├── raft_internal.pb.go │ │ │ │ ├── raft_internal.proto │ │ │ │ ├── rpc.pb.go │ │ │ │ └── rpc.proto │ │ ├── mvcc │ │ │ └── mvccpb │ │ │ │ ├── kv.pb.go │ │ │ │ └── kv.proto │ │ ├── pkg │ │ │ ├── pathutil │ │ │ │ └── path.go │ │ │ ├── srv │ │ │ │ └── srv.go │ │ │ └── types │ │ │ │ ├── doc.go │ │ │ │ ├── id.go │ │ │ │ ├── set.go │ │ │ │ ├── slice.go │ │ │ │ ├── urls.go │ │ │ │ └── urlsmap.go │ │ └── version │ │ │ └── version.go │ └── go-semver │ │ ├── LICENSE │ │ └── semver │ │ ├── semver.go │ │ └── sort.go ├── emirpasic │ └── gods │ │ ├── LICENSE │ │ ├── containers │ │ ├── containers.go │ │ ├── enumerable.go │ │ ├── iterator.go │ │ └── serialization.go │ │ ├── lists │ │ ├── lists.go │ │ └── singlylinkedlist │ │ │ ├── enumerable.go │ │ │ ├── iterator.go │ │ │ ├── serialization.go │ │ │ └── singlylinkedlist.go │ │ ├── sets │ │ ├── hashset │ │ │ ├── hashset.go │ │ │ └── serialization.go │ │ └── sets.go │ │ ├── stacks │ │ ├── linkedliststack │ │ │ ├── iterator.go │ │ │ ├── linkedliststack.go │ │ │ └── serialization.go │ │ └── stacks.go │ │ └── utils │ │ ├── comparator.go │ │ ├── sort.go │ │ └── utils.go ├── fatih │ └── color │ │ ├── .travis.yml │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── color.go │ │ └── doc.go ├── gin-contrib │ └── sse │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── sse-decoder.go │ │ ├── sse-encoder.go │ │ └── writer.go ├── gin-gonic │ └── gin │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── AUTHORS.md │ │ ├── BENCHMARKS.md │ │ ├── CHANGELOG.md │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── auth.go │ │ ├── binding │ │ ├── binding.go │ │ ├── default_validator.go │ │ ├── form.go │ │ ├── form_mapping.go │ │ ├── json.go │ │ ├── msgpack.go │ │ ├── protobuf.go │ │ ├── query.go │ │ └── xml.go │ │ ├── codecov.yml │ │ ├── context.go │ │ ├── context_appengine.go │ │ ├── debug.go │ │ ├── deprecated.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── fs.go │ │ ├── gin.go │ │ ├── json │ │ ├── json.go │ │ └── jsoniter.go │ │ ├── logger.go │ │ ├── mode.go │ │ ├── path.go │ │ ├── recovery.go │ │ ├── render │ │ ├── data.go │ │ ├── html.go │ │ ├── json.go │ │ ├── msgpack.go │ │ ├── redirect.go │ │ ├── render.go │ │ ├── text.go │ │ ├── xml.go │ │ └── yaml.go │ │ ├── response_writer.go │ │ ├── routergroup.go │ │ ├── test_helpers.go │ │ ├── tree.go │ │ ├── utils.go │ │ └── wercker.yml ├── gogo │ └── protobuf │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── gogoproto │ │ ├── Makefile │ │ ├── doc.go │ │ ├── gogo.pb.go │ │ ├── gogo.pb.golden │ │ ├── gogo.proto │ │ └── helper.go │ │ ├── jsonpb │ │ └── jsonpb.go │ │ ├── proto │ │ ├── Makefile │ │ ├── clone.go │ │ ├── decode.go │ │ ├── decode_gogo.go │ │ ├── duration.go │ │ ├── duration_gogo.go │ │ ├── encode.go │ │ ├── encode_gogo.go │ │ ├── equal.go │ │ ├── extensions.go │ │ ├── extensions_gogo.go │ │ ├── lib.go │ │ ├── lib_gogo.go │ │ ├── message_set.go │ │ ├── pointer_reflect.go │ │ ├── pointer_reflect_gogo.go │ │ ├── pointer_unsafe.go │ │ ├── pointer_unsafe_gogo.go │ │ ├── properties.go │ │ ├── properties_gogo.go │ │ ├── skip_gogo.go │ │ ├── text.go │ │ ├── text_gogo.go │ │ ├── text_parser.go │ │ ├── timestamp.go │ │ └── timestamp_gogo.go │ │ ├── protoc-gen-gogo │ │ └── descriptor │ │ │ ├── Makefile │ │ │ ├── descriptor.go │ │ │ ├── descriptor.pb.go │ │ │ ├── descriptor_gostring.gen.go │ │ │ └── helper.go │ │ ├── sortkeys │ │ └── sortkeys.go │ │ └── types │ │ ├── Makefile │ │ ├── any.go │ │ ├── any.pb.go │ │ ├── doc.go │ │ ├── duration.go │ │ ├── duration.pb.go │ │ ├── duration_gogo.go │ │ ├── empty.pb.go │ │ ├── field_mask.pb.go │ │ ├── struct.pb.go │ │ ├── timestamp.go │ │ ├── timestamp.pb.go │ │ ├── timestamp_gogo.go │ │ └── wrappers.pb.go ├── golang │ ├── protobuf │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── proto │ │ │ ├── Makefile │ │ │ ├── clone.go │ │ │ ├── decode.go │ │ │ ├── encode.go │ │ │ ├── equal.go │ │ │ ├── extensions.go │ │ │ ├── lib.go │ │ │ ├── message_set.go │ │ │ ├── pointer_reflect.go │ │ │ ├── pointer_unsafe.go │ │ │ ├── properties.go │ │ │ ├── text.go │ │ │ └── text_parser.go │ │ └── ptypes │ │ │ ├── any.go │ │ │ ├── any │ │ │ ├── any.pb.go │ │ │ └── any.proto │ │ │ ├── doc.go │ │ │ ├── duration.go │ │ │ ├── duration │ │ │ ├── duration.pb.go │ │ │ └── duration.proto │ │ │ ├── regen.sh │ │ │ ├── timestamp.go │ │ │ └── timestamp │ │ │ ├── timestamp.pb.go │ │ │ └── timestamp.proto │ └── snappy │ │ ├── .gitignore │ │ ├── AUTHORS │ │ ├── CONTRIBUTORS │ │ ├── LICENSE │ │ ├── README │ │ ├── decode.go │ │ ├── decode_amd64.go │ │ ├── decode_amd64.s │ │ ├── decode_other.go │ │ ├── encode.go │ │ ├── encode_amd64.go │ │ ├── encode_amd64.s │ │ ├── encode_other.go │ │ └── snappy.go ├── hashicorp │ ├── consul │ │ ├── LICENSE │ │ └── api │ │ │ ├── README.md │ │ │ ├── acl.go │ │ │ ├── agent.go │ │ │ ├── api.go │ │ │ ├── catalog.go │ │ │ ├── coordinate.go │ │ │ ├── event.go │ │ │ ├── health.go │ │ │ ├── kv.go │ │ │ ├── lock.go │ │ │ ├── operator.go │ │ │ ├── operator_area.go │ │ │ ├── operator_autopilot.go │ │ │ ├── operator_keyring.go │ │ │ ├── operator_raft.go │ │ │ ├── prepared_query.go │ │ │ ├── raw.go │ │ │ ├── semaphore.go │ │ │ ├── session.go │ │ │ ├── snapshot.go │ │ │ └── status.go │ ├── errwrap │ │ ├── LICENSE │ │ ├── README.md │ │ └── errwrap.go │ ├── go-cleanhttp │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cleanhttp.go │ │ └── doc.go │ ├── go-multierror │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── append.go │ │ ├── flatten.go │ │ ├── format.go │ │ ├── multierror.go │ │ └── prefix.go │ ├── go-rootcerts │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── doc.go │ │ ├── rootcerts.go │ │ ├── rootcerts_base.go │ │ └── rootcerts_darwin.go │ ├── golang-lru │ │ ├── .gitignore │ │ ├── 2q.go │ │ ├── LICENSE │ │ ├── README.md │ │ ├── arc.go │ │ ├── lru.go │ │ └── simplelru │ │ │ └── lru.go │ └── serf │ │ ├── LICENSE │ │ └── coordinate │ │ ├── client.go │ │ ├── config.go │ │ ├── coordinate.go │ │ └── phantom.go ├── influxdata │ └── influxdb │ │ ├── LICENSE │ │ ├── LICENSE_OF_DEPENDENCIES.md │ │ ├── client │ │ ├── README.md │ │ └── influxdb.go │ │ ├── models │ │ ├── consistency.go │ │ ├── inline_fnv.go │ │ ├── inline_strconv_parse.go │ │ ├── points.go │ │ ├── rows.go │ │ ├── statistic.go │ │ └── time.go │ │ └── pkg │ │ └── escape │ │ ├── bytes.go │ │ └── strings.go ├── json-iterator │ └── go │ │ ├── .codecov.yml │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Gopkg.lock │ │ ├── Gopkg.toml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── build.sh │ │ ├── feature_adapter.go │ │ ├── feature_any.go │ │ ├── feature_any_array.go │ │ ├── feature_any_bool.go │ │ ├── feature_any_float.go │ │ ├── feature_any_int32.go │ │ ├── feature_any_int64.go │ │ ├── feature_any_invalid.go │ │ ├── feature_any_nil.go │ │ ├── feature_any_number.go │ │ ├── feature_any_object.go │ │ ├── feature_any_string.go │ │ ├── feature_any_uint32.go │ │ ├── feature_any_uint64.go │ │ ├── feature_config.go │ │ ├── feature_iter.go │ │ ├── feature_iter_array.go │ │ ├── feature_iter_float.go │ │ ├── feature_iter_int.go │ │ ├── feature_iter_object.go │ │ ├── feature_iter_skip.go │ │ ├── feature_iter_skip_sloppy.go │ │ ├── feature_iter_skip_strict.go │ │ ├── feature_iter_string.go │ │ ├── feature_json_number.go │ │ ├── feature_pool.go │ │ ├── feature_reflect.go │ │ ├── feature_reflect_array.go │ │ ├── feature_reflect_extension.go │ │ ├── feature_reflect_map.go │ │ ├── feature_reflect_native.go │ │ ├── feature_reflect_object.go │ │ ├── feature_reflect_slice.go │ │ ├── feature_reflect_struct_decoder.go │ │ ├── feature_stream.go │ │ ├── feature_stream_float.go │ │ ├── feature_stream_int.go │ │ ├── feature_stream_string.go │ │ ├── fuzzy_mode_convert_table.md │ │ ├── jsoniter.go │ │ └── test.sh ├── juju │ └── ratelimit │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ratelimit.go │ │ └── reader.go ├── kavu │ └── go_reuseport │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README.md │ │ ├── reuseport.go │ │ ├── reuseport_bsd.go │ │ ├── reuseport_linux.go │ │ ├── reuseport_windows.go │ │ ├── tcp.go │ │ └── udp.go ├── klauspost │ ├── cpuid │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cpuid.go │ │ ├── cpuid_386.s │ │ ├── cpuid_amd64.s │ │ ├── detect_intel.go │ │ ├── detect_ref.go │ │ ├── generate.go │ │ └── private-gen.go │ └── reedsolomon │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── galois.go │ │ ├── galois_amd64.go │ │ ├── galois_amd64.s │ │ ├── galois_noasm.go │ │ ├── gentables.go │ │ ├── inversion_tree.go │ │ ├── matrix.go │ │ ├── options.go │ │ ├── reedsolomon.go │ │ └── streaming.go ├── lucas-clemente │ ├── aes12 │ │ ├── LICENSE │ │ ├── Readme.md │ │ ├── aes_gcm.go │ │ ├── asm_amd64.s │ │ ├── block.go │ │ ├── cipher.go │ │ ├── cipher_2.go │ │ ├── cipher_amd64.go │ │ ├── cipher_generic.go │ │ ├── const.go │ │ ├── gcm.go │ │ ├── gcm_amd64.s │ │ └── xor.go │ ├── fnv128a │ │ ├── LICENSE │ │ ├── README.md │ │ └── fnv128a.go │ ├── quic-go-certificates │ │ ├── LICENSE │ │ ├── README.md │ │ ├── cert_set_2.go │ │ ├── cert_set_3.go │ │ └── createCertSets.rb │ └── quic-go │ │ ├── .editorconfig │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── Changelog.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── ackhandler │ │ ├── _gen.go │ │ ├── interfaces.go │ │ ├── packet.go │ │ ├── packet_linkedlist.go │ │ ├── received_packet_handler.go │ │ ├── received_packet_history.go │ │ ├── retransmittable.go │ │ ├── sent_packet_handler.go │ │ └── stop_waiting_manager.go │ │ ├── appveyor.yml │ │ ├── buffer_pool.go │ │ ├── client.go │ │ ├── codecov.yml │ │ ├── congestion │ │ ├── bandwidth.go │ │ ├── clock.go │ │ ├── cubic.go │ │ ├── cubic_sender.go │ │ ├── hybrid_slow_start.go │ │ ├── interface.go │ │ ├── prr_sender.go │ │ ├── rtt_stats.go │ │ └── stats.go │ │ ├── conn.go │ │ ├── crypto │ │ ├── AEAD.go │ │ ├── aesgcm_aead.go │ │ ├── cert_cache.go │ │ ├── cert_chain.go │ │ ├── cert_compression.go │ │ ├── cert_dict.go │ │ ├── cert_manager.go │ │ ├── cert_sets.go │ │ ├── chacha20poly1305_aead.go │ │ ├── curve_25519.go │ │ ├── key_derivation.go │ │ ├── key_exchange.go │ │ ├── nonce.go │ │ ├── null_aead.go │ │ ├── server_proof.go │ │ └── source_address_token.go │ │ ├── flowcontrol │ │ ├── flow_control_manager.go │ │ ├── flow_controller.go │ │ └── interface.go │ │ ├── frames │ │ ├── ack_frame.go │ │ ├── ack_range.go │ │ ├── blocked_frame.go │ │ ├── connection_close_frame.go │ │ ├── frame.go │ │ ├── goaway_frame.go │ │ ├── log.go │ │ ├── ping_frame.go │ │ ├── rst_stream_frame.go │ │ ├── stop_waiting_frame.go │ │ ├── stream_frame.go │ │ └── window_update_frame.go │ │ ├── handshake │ │ ├── connection_parameters_manager.go │ │ ├── crypto_setup_client.go │ │ ├── crypto_setup_server.go │ │ ├── ephermal_cache.go │ │ ├── handshake_message.go │ │ ├── interface.go │ │ ├── server_config.go │ │ ├── server_config_client.go │ │ ├── stk_generator.go │ │ └── tags.go │ │ ├── interface.go │ │ ├── internal │ │ └── utils │ │ │ ├── _gen.go │ │ │ ├── atomic_bool.go │ │ │ ├── byteinterval_linkedlist.go │ │ │ ├── connection_id.go │ │ │ ├── float16.go │ │ │ ├── host.go │ │ │ ├── log.go │ │ │ ├── minmax.go │ │ │ ├── packet_interval.go │ │ │ ├── packetinterval_linkedlist.go │ │ │ ├── streamframe_interval.go │ │ │ ├── timer.go │ │ │ └── utils.go │ │ ├── packet_number_generator.go │ │ ├── packet_packer.go │ │ ├── packet_unpacker.go │ │ ├── protocol │ │ ├── encryption_level.go │ │ ├── packet_number.go │ │ ├── perspective.go │ │ ├── protocol.go │ │ ├── server_parameters.go │ │ └── version.go │ │ ├── public_header.go │ │ ├── public_reset.go │ │ ├── qerr │ │ ├── error_codes.go │ │ ├── errorcode_string.go │ │ └── quic_error.go │ │ ├── server.go │ │ ├── session.go │ │ ├── stream.go │ │ ├── stream_frame_sorter.go │ │ ├── stream_framer.go │ │ └── streams_map.go ├── manucorporat │ └── sse │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── sse-decoder.go │ │ ├── sse-encoder.go │ │ └── writer.go ├── marten-seemann │ └── quic-conn │ │ ├── .travis.yml │ │ ├── README.md │ │ ├── codecov.yml │ │ ├── conn.go │ │ ├── dial.go │ │ ├── package.json │ │ └── server.go ├── mattn │ ├── go-colorable │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── colorable_appengine.go │ │ ├── colorable_others.go │ │ ├── colorable_windows.go │ │ └── noncolorable.go │ ├── go-isatty │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── doc.go │ │ ├── isatty_appengine.go │ │ ├── isatty_bsd.go │ │ ├── isatty_linux.go │ │ ├── isatty_linux_ppc64x.go │ │ ├── isatty_others.go │ │ ├── isatty_solaris.go │ │ └── isatty_windows.go │ └── go-sqlite3 │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── backup.go │ │ ├── callback.go │ │ ├── doc.go │ │ ├── error.go │ │ ├── sqlite3-binding.c │ │ ├── sqlite3-binding.h │ │ ├── sqlite3.go │ │ ├── sqlite3_context.go │ │ ├── sqlite3_fts5.go │ │ ├── sqlite3_go18.go │ │ ├── sqlite3_icu.go │ │ ├── sqlite3_json1.go │ │ ├── sqlite3_libsqlite3.go │ │ ├── sqlite3_load_extension.go │ │ ├── sqlite3_omit_load_extension.go │ │ ├── sqlite3_other.go │ │ ├── sqlite3_trace.go │ │ ├── sqlite3_type.go │ │ ├── sqlite3_vtable.go │ │ ├── sqlite3_windows.go │ │ └── sqlite3ext.h ├── micro │ └── go-bson │ │ ├── README.md │ │ ├── chunked_writer.go │ │ ├── common.go │ │ ├── hack.go │ │ ├── marshal.go │ │ ├── marshal_util.go │ │ ├── unmarshal.go │ │ └── unmarshal_util.go ├── mitchellh │ └── go-homedir │ │ ├── LICENSE │ │ ├── README.md │ │ └── homedir.go ├── orcaman │ └── concurrent-map │ │ ├── LICENSE │ │ ├── README.md │ │ └── concurrent_map.go ├── pierrec │ ├── lz4 │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── block.go │ │ ├── lz4.go │ │ ├── reader.go │ │ └── writer.go │ └── xxHash │ │ ├── LICENSE │ │ └── xxHash32 │ │ └── xxHash32.go ├── pkg │ └── errors │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── appveyor.yml │ │ ├── errors.go │ │ └── stack.go ├── rcrowley │ └── go-metrics │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── counter.go │ │ ├── debug.go │ │ ├── ewma.go │ │ ├── exp │ │ └── exp.go │ │ ├── gauge.go │ │ ├── gauge_float64.go │ │ ├── graphite.go │ │ ├── healthcheck.go │ │ ├── histogram.go │ │ ├── json.go │ │ ├── log.go │ │ ├── memory.md │ │ ├── meter.go │ │ ├── metrics.go │ │ ├── opentsdb.go │ │ ├── registry.go │ │ ├── runtime.go │ │ ├── runtime_cgo.go │ │ ├── runtime_gccpufraction.go │ │ ├── runtime_no_cgo.go │ │ ├── runtime_no_gccpufraction.go │ │ ├── sample.go │ │ ├── syslog.go │ │ ├── timer.go │ │ ├── validate.sh │ │ └── writer.go ├── reactivex │ └── rxgo │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── LICENSE │ │ ├── README.md │ │ ├── errors │ │ ├── errorcode_string.go │ │ └── errors.go │ │ ├── eventhandler.go │ │ ├── fx │ │ └── fx.go │ │ ├── handlers │ │ └── handlers.go │ │ ├── iterable │ │ └── iterable.go │ │ ├── iterator.go │ │ ├── observable │ │ └── observable.go │ │ ├── observer │ │ └── observer.go │ │ └── subscription │ │ └── subscription.go ├── rpcx-ecosystem │ ├── codec2 │ │ ├── LICENSE │ │ ├── client.go │ │ ├── conn.go │ │ ├── server.go │ │ └── wirepb │ │ │ ├── wire.pb.go │ │ │ └── wire.proto │ ├── colfer │ │ ├── LICENSE │ │ └── rpc │ │ │ ├── Makefile │ │ │ ├── internal.colf │ │ │ ├── internal │ │ │ └── Colfer.go │ │ │ └── rpc.go │ ├── jsonrpc │ │ ├── client.go │ │ └── server.go │ ├── net-rpc-gencode2 │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── arith.schema │ │ ├── client.go │ │ ├── codec.go │ │ ├── gencoderpc.go │ │ ├── rpc.schema │ │ ├── rpc.schema.gen.go │ │ └── server.go │ ├── net-rpc-msgpackrpc2 │ │ ├── LICENSE.md │ │ ├── README.md │ │ ├── client.go │ │ ├── codec.go │ │ └── msgpackrpc.go │ └── rpc-codec2 │ │ ├── LICENSE │ │ └── jsonrpc2 │ │ ├── batch.go │ │ ├── client.go │ │ ├── context.go │ │ ├── doc.go │ │ ├── errors.go │ │ ├── http.go │ │ └── server.go ├── samuel │ └── go-zookeeper │ │ ├── LICENSE │ │ └── zk │ │ ├── conn.go │ │ ├── constants.go │ │ ├── dnshostprovider.go │ │ ├── flw.go │ │ ├── lock.go │ │ ├── server_help.go │ │ ├── server_java.go │ │ ├── structs.go │ │ └── util.go ├── smallnest │ └── rpcx │ │ ├── .checkignore │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── CHANGELOG │ │ ├── Gopkg.lock │ │ ├── Gopkg.toml │ │ ├── LICENSE │ │ ├── Makefile │ │ ├── README-CN.md │ │ ├── README.md │ │ ├── authorization.go │ │ ├── client.go │ │ ├── client_direct_creator.go │ │ ├── client_plugin.go │ │ ├── clientselector │ │ ├── consul_selector.go │ │ ├── etcd_selector.go │ │ ├── etcdv3_selector.go │ │ ├── geo_utils.go │ │ ├── hash_utils.go │ │ ├── multiple_selector.go │ │ ├── ping_utils.go │ │ ├── smooth-weighted-round-robin.go │ │ ├── util.go │ │ └── zookeeper_selector.go │ │ ├── codec │ │ ├── arith.schema │ │ ├── bson_codec.go │ │ ├── colfer_codec.go │ │ ├── colfer_codec_test.colf │ │ ├── gencodec.go │ │ ├── gob_codec.go │ │ ├── jsonrpc-codec.go │ │ ├── jsonrpc2-codec.go │ │ ├── protobuf_codec.go │ │ └── protobuf_service.proto │ │ ├── compression.go │ │ ├── core │ │ ├── client.go │ │ ├── context.go │ │ ├── debug.go │ │ ├── header.go │ │ └── server.go │ │ ├── errors.go │ │ ├── glide.yaml │ │ ├── lock.json │ │ ├── log │ │ ├── default_logger.go │ │ └── logger.go │ │ ├── manifest.json │ │ ├── plugin.go │ │ ├── plugin │ │ ├── alias.go │ │ ├── compression.go │ │ ├── consul_register.go │ │ ├── etcd_register.go │ │ ├── etcdv3_register.go │ │ ├── logregister.go │ │ ├── metrics.go │ │ ├── metrics_unix.go │ │ ├── rate_limiting.go │ │ └── zookeeper_register.go │ │ ├── server.go │ │ ├── server_plugin.go │ │ ├── server_unix.go │ │ └── server_windows.go ├── tatsushid │ └── go-fastping │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ └── fastping.go ├── tebeka │ └── selenium │ │ ├── .gitignore │ │ ├── .travis.yml │ │ ├── AUTHORS │ │ ├── ChangeLog │ │ ├── LICENSE │ │ ├── README.md │ │ ├── chrome │ │ └── capabilities.go │ │ ├── common.go │ │ ├── doc.go │ │ ├── firefox │ │ └── capabilities.go │ │ ├── internal │ │ └── zip │ │ │ └── zip.go │ │ ├── log │ │ └── log.go │ │ ├── remote.go │ │ ├── selenium.go │ │ └── service.go ├── templexxx │ └── xor │ │ ├── .gitattributes │ │ ├── .gitignore │ │ ├── LICENSE │ │ ├── README.md │ │ ├── avx2_amd64.s │ │ ├── nosimd.go │ │ ├── sse2_amd64.s │ │ ├── xor.go │ │ ├── xor_amd64.go │ │ └── xor_other.go ├── ugorji │ └── go │ │ ├── LICENSE │ │ └── codec │ │ ├── 0doc.go │ │ ├── README.md │ │ ├── binc.go │ │ ├── cbor.go │ │ ├── decode.go │ │ ├── encode.go │ │ ├── fast-path.generated.go │ │ ├── fast-path.go.tmpl │ │ ├── fast-path.not.go │ │ ├── gen-dec-array.go.tmpl │ │ ├── gen-dec-map.go.tmpl │ │ ├── gen-helper.generated.go │ │ ├── gen-helper.go.tmpl │ │ ├── gen.generated.go │ │ ├── gen.go │ │ ├── goversion_arrayof_gte_go15.go │ │ ├── goversion_arrayof_lt_go15.go │ │ ├── goversion_makemap_gte_go19.go │ │ ├── goversion_makemap_lt_go19.go │ │ ├── goversion_unexportedembeddedptr_gte_go110.go │ │ ├── goversion_unexportedembeddedptr_lt_go110.go │ │ ├── goversion_unsupported_lt_go14.go │ │ ├── goversion_vendor_eq_go15.go │ │ ├── goversion_vendor_eq_go16.go │ │ ├── goversion_vendor_gte_go17.go │ │ ├── goversion_vendor_lt_go15.go │ │ ├── helper.go │ │ ├── helper_internal.go │ │ ├── helper_not_unsafe.go │ │ ├── helper_unsafe.go │ │ ├── json.go │ │ ├── mammoth-test.go.tmpl │ │ ├── mammoth2-test.go.tmpl │ │ ├── msgpack.go │ │ ├── noop.go │ │ ├── rpc.go │ │ ├── simple.go │ │ ├── test-cbor-goldens.json │ │ ├── test.py │ │ ├── time.go │ │ └── xml.go ├── vrischmann │ └── go-metrics-influxdb │ │ ├── LICENSE │ │ ├── README.md │ │ └── influxdb.go └── xtaci │ └── kcp-go │ ├── .gitignore │ ├── .travis.yml │ ├── LICENSE │ ├── README.md │ ├── crypt.go │ ├── donate.png │ ├── fec.go │ ├── frame.png │ ├── kcp-go.png │ ├── kcp.go │ ├── sess.go │ ├── snmp.go │ ├── updater.go │ └── xor.go ├── golang.org └── x │ ├── crypto │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── PATENTS │ ├── blowfish │ │ ├── block.go │ │ ├── cipher.go │ │ └── const.go │ ├── cast5 │ │ └── cast5.go │ ├── curve25519 │ │ ├── const_amd64.h │ │ ├── const_amd64.s │ │ ├── cswap_amd64.s │ │ ├── curve25519.go │ │ ├── doc.go │ │ ├── freeze_amd64.s │ │ ├── ladderstep_amd64.s │ │ ├── mont25519_amd64.go │ │ ├── mul_amd64.s │ │ └── square_amd64.s │ ├── hkdf │ │ └── hkdf.go │ ├── pbkdf2 │ │ └── pbkdf2.go │ ├── salsa20 │ │ ├── salsa │ │ │ ├── hsalsa20.go │ │ │ ├── salsa2020_amd64.s │ │ │ ├── salsa208.go │ │ │ ├── salsa20_amd64.go │ │ │ └── salsa20_ref.go │ │ └── salsa20.go │ ├── tea │ │ └── cipher.go │ ├── twofish │ │ └── twofish.go │ └── xtea │ │ ├── block.go │ │ └── cipher.go │ ├── net │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── PATENTS │ ├── bpf │ │ ├── asm.go │ │ ├── constants.go │ │ ├── doc.go │ │ ├── instructions.go │ │ ├── vm.go │ │ └── vm_instructions.go │ ├── context │ │ ├── context.go │ │ ├── go17.go │ │ └── pre_go17.go │ ├── html │ │ ├── atom │ │ │ ├── atom.go │ │ │ ├── gen.go │ │ │ └── table.go │ │ ├── const.go │ │ ├── doc.go │ │ ├── doctype.go │ │ ├── entity.go │ │ ├── escape.go │ │ ├── foreign.go │ │ ├── node.go │ │ ├── parse.go │ │ ├── render.go │ │ └── token.go │ ├── http2 │ │ ├── .gitignore │ │ ├── Dockerfile │ │ ├── Makefile │ │ ├── README │ │ ├── client_conn_pool.go │ │ ├── configure_transport.go │ │ ├── databuffer.go │ │ ├── errors.go │ │ ├── flow.go │ │ ├── frame.go │ │ ├── go16.go │ │ ├── go17.go │ │ ├── go17_not18.go │ │ ├── go18.go │ │ ├── gotrack.go │ │ ├── headermap.go │ │ ├── hpack │ │ │ ├── encode.go │ │ │ ├── hpack.go │ │ │ ├── huffman.go │ │ │ └── tables.go │ │ ├── http2.go │ │ ├── not_go16.go │ │ ├── not_go17.go │ │ ├── not_go18.go │ │ ├── pipe.go │ │ ├── server.go │ │ ├── transport.go │ │ ├── write.go │ │ ├── writesched.go │ │ ├── writesched_priority.go │ │ └── writesched_random.go │ ├── icmp │ │ ├── dstunreach.go │ │ ├── echo.go │ │ ├── endpoint.go │ │ ├── extension.go │ │ ├── helper.go │ │ ├── helper_posix.go │ │ ├── interface.go │ │ ├── ipv4.go │ │ ├── ipv6.go │ │ ├── listen_posix.go │ │ ├── listen_stub.go │ │ ├── message.go │ │ ├── messagebody.go │ │ ├── mpls.go │ │ ├── multipart.go │ │ ├── packettoobig.go │ │ ├── paramprob.go │ │ ├── sys_freebsd.go │ │ └── timeexceeded.go │ ├── idna │ │ ├── idna.go │ │ ├── punycode.go │ │ ├── tables.go │ │ ├── trie.go │ │ └── trieval.go │ ├── internal │ │ ├── iana │ │ │ ├── const.go │ │ │ └── gen.go │ │ ├── netreflect │ │ │ ├── socket.go │ │ │ ├── socket_19.go │ │ │ ├── socket_posix.go │ │ │ └── socket_stub.go │ │ └── timeseries │ │ │ └── timeseries.go │ ├── ipv4 │ │ ├── bpfopt_linux.go │ │ ├── bpfopt_stub.go │ │ ├── control.go │ │ ├── control_bsd.go │ │ ├── control_pktinfo.go │ │ ├── control_stub.go │ │ ├── control_unix.go │ │ ├── control_windows.go │ │ ├── defs_darwin.go │ │ ├── defs_dragonfly.go │ │ ├── defs_freebsd.go │ │ ├── defs_linux.go │ │ ├── defs_netbsd.go │ │ ├── defs_openbsd.go │ │ ├── defs_solaris.go │ │ ├── dgramopt_posix.go │ │ ├── dgramopt_stub.go │ │ ├── doc.go │ │ ├── endpoint.go │ │ ├── gen.go │ │ ├── genericopt_posix.go │ │ ├── genericopt_stub.go │ │ ├── header.go │ │ ├── helper.go │ │ ├── iana.go │ │ ├── icmp.go │ │ ├── icmp_linux.go │ │ ├── icmp_stub.go │ │ ├── packet.go │ │ ├── payload.go │ │ ├── payload_cmsg.go │ │ ├── payload_nocmsg.go │ │ ├── sockopt.go │ │ ├── sockopt_asmreq.go │ │ ├── sockopt_asmreq_posix.go │ │ ├── sockopt_asmreq_stub.go │ │ ├── sockopt_asmreqn_stub.go │ │ ├── sockopt_asmreqn_unix.go │ │ ├── sockopt_posix.go │ │ ├── sockopt_ssmreq_stub.go │ │ ├── sockopt_ssmreq_unix.go │ │ ├── sockopt_stub.go │ │ ├── sys_bsd.go │ │ ├── sys_darwin.go │ │ ├── sys_freebsd.go │ │ ├── sys_linux.go │ │ ├── sys_linux_386.s │ │ ├── sys_openbsd.go │ │ ├── sys_solaris.go │ │ ├── sys_solaris_amd64.s │ │ ├── sys_stub.go │ │ ├── sys_windows.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_solaris.go │ │ ├── syscall_unix.go │ │ ├── syscall_windows.go │ │ ├── zsys_darwin.go │ │ ├── zsys_dragonfly.go │ │ ├── zsys_freebsd_386.go │ │ ├── zsys_freebsd_amd64.go │ │ ├── zsys_freebsd_arm.go │ │ ├── zsys_linux_386.go │ │ ├── zsys_linux_amd64.go │ │ ├── zsys_linux_arm.go │ │ ├── zsys_linux_arm64.go │ │ ├── zsys_linux_mips.go │ │ ├── zsys_linux_mips64.go │ │ ├── zsys_linux_mips64le.go │ │ ├── zsys_linux_mipsle.go │ │ ├── zsys_linux_ppc.go │ │ ├── zsys_linux_ppc64.go │ │ ├── zsys_linux_ppc64le.go │ │ ├── zsys_linux_s390x.go │ │ ├── zsys_netbsd.go │ │ ├── zsys_openbsd.go │ │ └── zsys_solaris.go │ ├── ipv6 │ │ ├── bpfopt_linux.go │ │ ├── bpfopt_stub.go │ │ ├── control.go │ │ ├── control_rfc2292_unix.go │ │ ├── control_rfc3542_unix.go │ │ ├── control_stub.go │ │ ├── control_unix.go │ │ ├── control_windows.go │ │ ├── defs_darwin.go │ │ ├── defs_dragonfly.go │ │ ├── defs_freebsd.go │ │ ├── defs_linux.go │ │ ├── defs_netbsd.go │ │ ├── defs_openbsd.go │ │ ├── defs_solaris.go │ │ ├── dgramopt_posix.go │ │ ├── dgramopt_stub.go │ │ ├── doc.go │ │ ├── endpoint.go │ │ ├── gen.go │ │ ├── genericopt_posix.go │ │ ├── genericopt_stub.go │ │ ├── header.go │ │ ├── helper.go │ │ ├── iana.go │ │ ├── icmp.go │ │ ├── icmp_bsd.go │ │ ├── icmp_linux.go │ │ ├── icmp_solaris.go │ │ ├── icmp_stub.go │ │ ├── icmp_windows.go │ │ ├── payload.go │ │ ├── payload_cmsg.go │ │ ├── payload_nocmsg.go │ │ ├── sockopt.go │ │ ├── sockopt_asmreq_posix.go │ │ ├── sockopt_posix.go │ │ ├── sockopt_ssmreq_stub.go │ │ ├── sockopt_ssmreq_unix.go │ │ ├── sockopt_stub.go │ │ ├── sys_bsd.go │ │ ├── sys_darwin.go │ │ ├── sys_freebsd.go │ │ ├── sys_linux.go │ │ ├── sys_linux_386.s │ │ ├── sys_solaris.go │ │ ├── sys_solaris_amd64.s │ │ ├── sys_stub.go │ │ ├── sys_windows.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_solaris.go │ │ ├── syscall_unix.go │ │ ├── syscall_windows.go │ │ ├── zsys_darwin.go │ │ ├── zsys_dragonfly.go │ │ ├── zsys_freebsd_386.go │ │ ├── zsys_freebsd_amd64.go │ │ ├── zsys_freebsd_arm.go │ │ ├── zsys_linux_386.go │ │ ├── zsys_linux_amd64.go │ │ ├── zsys_linux_arm.go │ │ ├── zsys_linux_arm64.go │ │ ├── zsys_linux_mips.go │ │ ├── zsys_linux_mips64.go │ │ ├── zsys_linux_mips64le.go │ │ ├── zsys_linux_mipsle.go │ │ ├── zsys_linux_ppc.go │ │ ├── zsys_linux_ppc64.go │ │ ├── zsys_linux_ppc64le.go │ │ ├── zsys_linux_s390x.go │ │ ├── zsys_netbsd.go │ │ ├── zsys_openbsd.go │ │ └── zsys_solaris.go │ ├── lex │ │ └── httplex │ │ │ └── httplex.go │ └── trace │ │ ├── events.go │ │ ├── histogram.go │ │ └── trace.go │ ├── sys │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── PATENTS │ └── unix │ │ ├── .gitignore │ │ ├── asm_darwin_386.s │ │ ├── asm_darwin_amd64.s │ │ ├── asm_darwin_arm.s │ │ ├── asm_darwin_arm64.s │ │ ├── asm_dragonfly_amd64.s │ │ ├── asm_freebsd_386.s │ │ ├── asm_freebsd_amd64.s │ │ ├── asm_freebsd_arm.s │ │ ├── asm_linux_386.s │ │ ├── asm_linux_amd64.s │ │ ├── asm_linux_arm.s │ │ ├── asm_linux_arm64.s │ │ ├── asm_linux_mips64x.s │ │ ├── asm_linux_mipsx.s │ │ ├── asm_linux_ppc64x.s │ │ ├── asm_linux_s390x.s │ │ ├── asm_netbsd_386.s │ │ ├── asm_netbsd_amd64.s │ │ ├── asm_netbsd_arm.s │ │ ├── asm_openbsd_386.s │ │ ├── asm_openbsd_amd64.s │ │ ├── asm_solaris_amd64.s │ │ ├── bluetooth_linux.go │ │ ├── constants.go │ │ ├── dirent.go │ │ ├── endian_big.go │ │ ├── endian_little.go │ │ ├── env_unix.go │ │ ├── env_unset.go │ │ ├── flock.go │ │ ├── flock_linux_32bit.go │ │ ├── gccgo.go │ │ ├── gccgo_c.c │ │ ├── gccgo_linux_amd64.go │ │ ├── gccgo_linux_sparc64.go │ │ ├── mkall.sh │ │ ├── mkerrors.sh │ │ ├── mkpost.go │ │ ├── mksyscall.pl │ │ ├── mksyscall_solaris.pl │ │ ├── mksysctl_openbsd.pl │ │ ├── mksysnum_darwin.pl │ │ ├── mksysnum_dragonfly.pl │ │ ├── mksysnum_freebsd.pl │ │ ├── mksysnum_linux.pl │ │ ├── mksysnum_netbsd.pl │ │ ├── mksysnum_openbsd.pl │ │ ├── openbsd_pledge.go │ │ ├── race.go │ │ ├── race0.go │ │ ├── sockcmsg_linux.go │ │ ├── sockcmsg_unix.go │ │ ├── str.go │ │ ├── syscall.go │ │ ├── syscall_bsd.go │ │ ├── syscall_darwin.go │ │ ├── syscall_darwin_386.go │ │ ├── syscall_darwin_amd64.go │ │ ├── syscall_darwin_arm.go │ │ ├── syscall_darwin_arm64.go │ │ ├── syscall_dragonfly.go │ │ ├── syscall_dragonfly_amd64.go │ │ ├── syscall_freebsd.go │ │ ├── syscall_freebsd_386.go │ │ ├── syscall_freebsd_amd64.go │ │ ├── syscall_freebsd_arm.go │ │ ├── syscall_linux.go │ │ ├── syscall_linux_386.go │ │ ├── syscall_linux_amd64.go │ │ ├── syscall_linux_amd64_gc.go │ │ ├── syscall_linux_arm.go │ │ ├── syscall_linux_arm64.go │ │ ├── syscall_linux_mips64x.go │ │ ├── syscall_linux_mipsx.go │ │ ├── syscall_linux_ppc64x.go │ │ ├── syscall_linux_s390x.go │ │ ├── syscall_linux_sparc64.go │ │ ├── syscall_netbsd.go │ │ ├── syscall_netbsd_386.go │ │ ├── syscall_netbsd_amd64.go │ │ ├── syscall_netbsd_arm.go │ │ ├── syscall_no_getwd.go │ │ ├── syscall_openbsd.go │ │ ├── syscall_openbsd_386.go │ │ ├── syscall_openbsd_amd64.go │ │ ├── syscall_solaris.go │ │ ├── syscall_solaris_amd64.go │ │ ├── syscall_unix.go │ │ ├── syscall_unix_gc.go │ │ ├── types_darwin.go │ │ ├── types_dragonfly.go │ │ ├── types_freebsd.go │ │ ├── types_linux.go │ │ ├── types_netbsd.go │ │ ├── types_openbsd.go │ │ ├── types_solaris.go │ │ ├── zerrors_darwin_386.go │ │ ├── zerrors_darwin_amd64.go │ │ ├── zerrors_darwin_arm.go │ │ ├── zerrors_darwin_arm64.go │ │ ├── zerrors_dragonfly_amd64.go │ │ ├── zerrors_freebsd_386.go │ │ ├── zerrors_freebsd_amd64.go │ │ ├── zerrors_freebsd_arm.go │ │ ├── zerrors_linux_386.go │ │ ├── zerrors_linux_amd64.go │ │ ├── zerrors_linux_arm.go │ │ ├── zerrors_linux_arm64.go │ │ ├── zerrors_linux_mips.go │ │ ├── zerrors_linux_mips64.go │ │ ├── zerrors_linux_mips64le.go │ │ ├── zerrors_linux_mipsle.go │ │ ├── zerrors_linux_ppc64.go │ │ ├── zerrors_linux_ppc64le.go │ │ ├── zerrors_linux_s390x.go │ │ ├── zerrors_linux_sparc64.go │ │ ├── zerrors_netbsd_386.go │ │ ├── zerrors_netbsd_amd64.go │ │ ├── zerrors_netbsd_arm.go │ │ ├── zerrors_openbsd_386.go │ │ ├── zerrors_openbsd_amd64.go │ │ ├── zerrors_solaris_amd64.go │ │ ├── zsyscall_darwin_386.go │ │ ├── zsyscall_darwin_amd64.go │ │ ├── zsyscall_darwin_arm.go │ │ ├── zsyscall_darwin_arm64.go │ │ ├── zsyscall_dragonfly_amd64.go │ │ ├── zsyscall_freebsd_386.go │ │ ├── zsyscall_freebsd_amd64.go │ │ ├── zsyscall_freebsd_arm.go │ │ ├── zsyscall_linux_386.go │ │ ├── zsyscall_linux_amd64.go │ │ ├── zsyscall_linux_arm.go │ │ ├── zsyscall_linux_arm64.go │ │ ├── zsyscall_linux_mips.go │ │ ├── zsyscall_linux_mips64.go │ │ ├── zsyscall_linux_mips64le.go │ │ ├── zsyscall_linux_mipsle.go │ │ ├── zsyscall_linux_ppc64.go │ │ ├── zsyscall_linux_ppc64le.go │ │ ├── zsyscall_linux_s390x.go │ │ ├── zsyscall_linux_sparc64.go │ │ ├── zsyscall_netbsd_386.go │ │ ├── zsyscall_netbsd_amd64.go │ │ ├── zsyscall_netbsd_arm.go │ │ ├── zsyscall_openbsd_386.go │ │ ├── zsyscall_openbsd_amd64.go │ │ ├── zsyscall_solaris_amd64.go │ │ ├── zsysctl_openbsd.go │ │ ├── zsysnum_darwin_386.go │ │ ├── zsysnum_darwin_amd64.go │ │ ├── zsysnum_darwin_arm.go │ │ ├── zsysnum_darwin_arm64.go │ │ ├── zsysnum_dragonfly_amd64.go │ │ ├── zsysnum_freebsd_386.go │ │ ├── zsysnum_freebsd_amd64.go │ │ ├── zsysnum_freebsd_arm.go │ │ ├── zsysnum_linux_386.go │ │ ├── zsysnum_linux_amd64.go │ │ ├── zsysnum_linux_arm.go │ │ ├── zsysnum_linux_arm64.go │ │ ├── zsysnum_linux_mips.go │ │ ├── zsysnum_linux_mips64.go │ │ ├── zsysnum_linux_mips64le.go │ │ ├── zsysnum_linux_mipsle.go │ │ ├── zsysnum_linux_ppc64.go │ │ ├── zsysnum_linux_ppc64le.go │ │ ├── zsysnum_linux_s390x.go │ │ ├── zsysnum_linux_sparc64.go │ │ ├── zsysnum_netbsd_386.go │ │ ├── zsysnum_netbsd_amd64.go │ │ ├── zsysnum_netbsd_arm.go │ │ ├── zsysnum_openbsd_386.go │ │ ├── zsysnum_openbsd_amd64.go │ │ ├── zsysnum_solaris_amd64.go │ │ ├── ztypes_darwin_386.go │ │ ├── ztypes_darwin_amd64.go │ │ ├── ztypes_darwin_arm.go │ │ ├── ztypes_darwin_arm64.go │ │ ├── ztypes_dragonfly_amd64.go │ │ ├── ztypes_freebsd_386.go │ │ ├── ztypes_freebsd_amd64.go │ │ ├── ztypes_freebsd_arm.go │ │ ├── ztypes_linux_386.go │ │ ├── ztypes_linux_amd64.go │ │ ├── ztypes_linux_arm.go │ │ ├── ztypes_linux_arm64.go │ │ ├── ztypes_linux_mips.go │ │ ├── ztypes_linux_mips64.go │ │ ├── ztypes_linux_mips64le.go │ │ ├── ztypes_linux_mipsle.go │ │ ├── ztypes_linux_ppc64.go │ │ ├── ztypes_linux_ppc64le.go │ │ ├── ztypes_linux_s390x.go │ │ ├── ztypes_linux_sparc64.go │ │ ├── ztypes_netbsd_386.go │ │ ├── ztypes_netbsd_amd64.go │ │ ├── ztypes_netbsd_arm.go │ │ ├── ztypes_openbsd_386.go │ │ ├── ztypes_openbsd_amd64.go │ │ └── ztypes_solaris_amd64.go │ ├── text │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── PATENTS │ ├── secure │ │ └── bidirule │ │ │ └── bidirule.go │ ├── transform │ │ └── transform.go │ └── unicode │ │ ├── bidi │ │ ├── bidi.go │ │ ├── bracket.go │ │ ├── core.go │ │ ├── gen.go │ │ ├── gen_ranges.go │ │ ├── gen_trieval.go │ │ ├── prop.go │ │ ├── tables.go │ │ └── trieval.go │ │ └── norm │ │ ├── composition.go │ │ ├── forminfo.go │ │ ├── input.go │ │ ├── iter.go │ │ ├── maketables.go │ │ ├── normalize.go │ │ ├── readwriter.go │ │ ├── tables.go │ │ ├── transform.go │ │ ├── trie.go │ │ └── triegen.go │ └── tools │ ├── AUTHORS │ ├── CONTRIBUTORS │ ├── LICENSE │ ├── PATENTS │ ├── go │ ├── ast │ │ └── astutil │ │ │ ├── enclosing.go │ │ │ ├── imports.go │ │ │ └── util.go │ └── gcimporter15 │ │ ├── bexport.go │ │ ├── bimport.go │ │ ├── exportdata.go │ │ ├── gcimporter.go │ │ ├── isAlias18.go │ │ └── isAlias19.go │ └── imports │ ├── fastwalk.go │ ├── fastwalk_dirent_fileno.go │ ├── fastwalk_dirent_ino.go │ ├── fastwalk_portable.go │ ├── fastwalk_unix.go │ ├── fix.go │ ├── imports.go │ ├── mkindex.go │ ├── mkstdlib.go │ ├── sortimports.go │ └── zstdlib.go ├── google.golang.org ├── genproto │ ├── LICENSE │ └── googleapis │ │ └── rpc │ │ └── status │ │ └── status.pb.go └── grpc │ ├── .travis.yml │ ├── AUTHORS │ ├── CONTRIBUTING.md │ ├── LICENSE │ ├── Makefile │ ├── README.md │ ├── backoff.go │ ├── balancer.go │ ├── call.go │ ├── clientconn.go │ ├── codec.go │ ├── codegen.sh │ ├── codes │ ├── code_string.go │ └── codes.go │ ├── connectivity │ └── connectivity.go │ ├── coverage.sh │ ├── credentials │ ├── credentials.go │ ├── credentials_util_go17.go │ ├── credentials_util_go18.go │ └── credentials_util_pre_go17.go │ ├── doc.go │ ├── go16.go │ ├── go17.go │ ├── grpclb.go │ ├── grpclb │ └── grpc_lb_v1 │ │ ├── grpclb.pb.go │ │ └── grpclb.proto │ ├── grpclog │ ├── grpclog.go │ ├── logger.go │ └── loggerv2.go │ ├── interceptor.go │ ├── internal │ └── internal.go │ ├── keepalive │ └── keepalive.go │ ├── metadata │ └── metadata.go │ ├── naming │ ├── dns_resolver.go │ ├── go17.go │ ├── go18.go │ └── naming.go │ ├── peer │ └── peer.go │ ├── proxy.go │ ├── rpc_util.go │ ├── server.go │ ├── stats │ ├── handlers.go │ └── stats.go │ ├── status │ └── status.go │ ├── stream.go │ ├── tap │ └── tap.go │ ├── trace.go │ └── transport │ ├── bdp_estimator.go │ ├── control.go │ ├── go16.go │ ├── go17.go │ ├── handler_server.go │ ├── http2_client.go │ ├── http2_server.go │ ├── http_util.go │ ├── log.go │ └── transport.go └── gopkg.in ├── gin-gonic └── gin.v1 │ ├── .gitignore │ ├── .travis.yml │ ├── AUTHORS.md │ ├── BENCHMARKS.md │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── auth.go │ ├── codecov.yml │ ├── context.go │ ├── debug.go │ ├── deprecated.go │ ├── errors.go │ ├── fs.go │ ├── gin.go │ ├── logger.go │ ├── logo.jpg │ ├── mode.go │ ├── path.go │ ├── recovery.go │ ├── response_writer.go │ ├── routergroup.go │ ├── tree.go │ ├── utils.go │ └── wercker.yml ├── go-playground └── validator.v8 │ ├── .gitignore │ ├── LICENSE │ ├── README.md │ ├── baked_in.go │ ├── cache.go │ ├── doc.go │ ├── logo.png │ ├── regexes.go │ ├── util.go │ └── validator.go └── yaml.v2 ├── .travis.yml ├── LICENSE ├── LICENSE.libyaml ├── README.md ├── apic.go ├── decode.go ├── emitterc.go ├── encode.go ├── parserc.go ├── readerc.go ├── resolve.go ├── scannerc.go ├── sorter.go ├── writerc.go ├── yaml.go ├── yamlh.go └── yamlprivateh.go /.gitignore: -------------------------------------------------------------------------------- 1 | # Created by .ignore support plugin (hsz.mobi) 2 | ### Go template 3 | # Binaries for programs and plugins 4 | *.exe 5 | *.dll 6 | *.so 7 | *.dylib 8 | 9 | # Test binary, build with `go test -c` 10 | *.test 11 | 12 | # Output of the go coverage tool, specifically when used with LiteIDE 13 | *.out 14 | 15 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 16 | .glide/ 17 | 18 | .DS_Store 19 | .idea/ 20 | cookeem.com.iml 21 | test.log 22 | writeAt.txt 23 | /gin_demo 24 | /README.gz 25 | /tmp.txt 26 | /goquery.log 27 | goquery_demo1 28 | /client 29 | /server 30 | /rpcx/client 31 | /rpcx/server 32 | .vscode 33 | -------------------------------------------------------------------------------- /Godeps/Readme: -------------------------------------------------------------------------------- 1 | This directory tree is generated automatically by godep. 2 | 3 | Please do not edit. 4 | 5 | See https://github.com/tools/godep for more information. 6 | -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | 0.1.21 -------------------------------------------------------------------------------- /actor/actor_demo1.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/AsynkronIT/protoactor-go/actor" 5 | "fmt" 6 | "github.com/AsynkronIT/goconsole" 7 | ) 8 | 9 | type Hello struct{ Who string } 10 | type HelloActor struct{} 11 | 12 | func (state *HelloActor) Receive(context actor.Context) { 13 | switch msg := context.Message().(type) { 14 | case Hello: 15 | fmt.Printf("Hello %v\n", msg.Who) 16 | } 17 | } 18 | 19 | func main() { 20 | props := actor.FromInstance(&HelloActor{}) 21 | pid := actor.Spawn(props) 22 | pid.Tell(Hello{Who: "Roger"}) 23 | console.ReadLine() 24 | } -------------------------------------------------------------------------------- /actor/chat/build.bat: -------------------------------------------------------------------------------- 1 | protoc -I=. -I=${GOPATH}/src --gogoslick_out=plugins=grpc:. protos.proto 2 | -------------------------------------------------------------------------------- /actor/chat/protos.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package messages; 3 | import "github.com/AsynkronIT/protoactor-go/actor/protos.proto"; 4 | 5 | message Connect { 6 | actor.PID Sender = 1; 7 | } 8 | 9 | message Connected { 10 | string Message = 1; 11 | } 12 | 13 | message SayRequest { 14 | string UserName = 1; 15 | string Message = 2; 16 | } 17 | 18 | message SayResponse { 19 | string UserName = 1; 20 | string Message = 2; 21 | } 22 | 23 | message NickRequest { 24 | string OldUserName = 1; 25 | string NewUserName = 2; 26 | } 27 | 28 | message NickResponse { 29 | string OldUserName = 1; 30 | string NewUserName = 2; 31 | } -------------------------------------------------------------------------------- /benchmark/div.go: -------------------------------------------------------------------------------- 1 | package benchmark 2 | 3 | import "errors" 4 | 5 | func Division(a, b float64) (float64, error) { 6 | if b == 0 { 7 | return 0, errors.New("除数不能为0") 8 | } 9 | 10 | return a / b, nil 11 | } 12 | -------------------------------------------------------------------------------- /ch2/common/type_package.go: -------------------------------------------------------------------------------- 1 | package common 2 | 3 | type Integer int 4 | 5 | //类型方法,参数为值的方法 6 | func (i Integer) Add(j Integer) (ret Integer) { 7 | ret = i + j 8 | return 9 | } 10 | 11 | //类型方法,参数为引用的方法 12 | func (i *Integer) Add2(j *Integer) (ret Integer) { 13 | *i += 100 14 | *j += 10000 15 | ret = *i + *j 16 | return 17 | } 18 | -------------------------------------------------------------------------------- /ch2/oop_demo.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "godemo/ch2/common" 6 | "time" 7 | ) 8 | 9 | func main() { 10 | //类的继承 11 | jokeFish := common.Fish{TypeName: "jokeFish", Age: 5} 12 | jokeFish.Swimming() 13 | 14 | sharkFish := common.Shark{} 15 | sharkFish.Fish.TypeName = "shark" 16 | sharkFish.Fish.Age = 10 17 | sharkFish.NumOfTooth = 20 18 | 19 | sharkFish.Swimming() 20 | //含义一样 21 | sharkFish.Fish.Swimming() 22 | 23 | ptrJob := common.NewJob("printenv") 24 | fmt.Println("ptrJob:", ptrJob.Command, ptrJob.Time) 25 | ptrJob.Start() 26 | time.Sleep(2 * 1e9) 27 | ptrJob.SetCommand("tail -f /etc/hosts") 28 | ptrJob.Start() 29 | 30 | ptrJob.CloseJob() 31 | } 32 | -------------------------------------------------------------------------------- /ch3/channel_demo2.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | func main() { 9 | ch := make(chan int) 10 | 11 | go func() { 12 | for { 13 | time.Sleep(time.Duration(3) * time.Second) 14 | ch <- 1 15 | } 16 | }() 17 | 18 | fmt.Println("begin!", time.Now()) 19 | i := 0 20 | LOOP: //for循环中的break label必须在for循环的前一句,goto的label则没有限制 21 | for { 22 | //select只会执行一次检测,外层必须加上for循环 23 | select { 24 | //设置超时机制 25 | case <-time.After(time.Duration(2) * time.Second): 26 | fmt.Println("timeout!", time.Now()) 27 | i++ 28 | //timeout超过3次退出 29 | if i > 3 { 30 | break LOOP 31 | } 32 | case <-ch: 33 | fmt.Println("<-ch", time.Now()) 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /ch3/channel_demo3.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | func sum(s []int, c chan int) { 9 | sum := 0 10 | for _, v := range s { 11 | sum += v 12 | } 13 | fmt.Println("block for 1 second", time.Now()) 14 | time.Sleep(time.Second * 1) 15 | //等待向c发送消息 16 | c <- sum 17 | fmt.Println("block end", time.Now()) 18 | } 19 | 20 | func main() { 21 | s := []int{1, 2, 3, 4, 5, 6, 7, 8} 22 | c := make(chan int) 23 | 24 | //通过一个channel同时启动多个goroutine执行任务 25 | //通过控制goroutine内向channel发送消息,goroutine外从channel接收消息,实现多个goroutine的阻塞和并行。 26 | go sum(s[:len(s)/2], c) 27 | go sum(s[len(s)/2:], c) 28 | x, y := <-c, <-c // receive from c 29 | fmt.Println(x, y, x+y, time.Now()) 30 | } 31 | -------------------------------------------------------------------------------- /ch3/channel_demo4.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "time" 6 | ) 7 | 8 | func main() { 9 | // channel传递 10 | cht1 := make(chan int) 11 | cht2 := make(chan int) 12 | go func() { 13 | time.Sleep(time.Second * 1) 14 | fmt.Println(time.Now(), "cht1") 15 | cht1 <- 1 16 | return 17 | }() 18 | go func() { 19 | i := <-cht1 20 | time.Sleep(time.Second * 1) 21 | i++ 22 | fmt.Println(time.Now(), "cht2", i) 23 | cht2 <- i 24 | return 25 | }() 26 | i := <-cht2 27 | fmt.Println(time.Now(), "cht2 finish:", i) 28 | 29 | } 30 | -------------------------------------------------------------------------------- /context/context_demo1.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "time" 7 | ) 8 | 9 | func main() { 10 | gen := func(ctx context.Context) <-chan int { 11 | dst := make(chan int) 12 | n := 1 13 | go func() { 14 | for { 15 | select { 16 | case <-ctx.Done(): 17 | return // returning not to leak the goroutine 18 | case dst <- n: 19 | n++ 20 | } 21 | } 22 | }() 23 | return dst 24 | } 25 | 26 | ctx, cancel := context.WithCancel(context.Background()) 27 | 28 | defer cancel() 29 | 30 | for n := range gen(ctx) { 31 | fmt.Println(n, " # ", time.Now()) 32 | if n == 5 { 33 | break 34 | } 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /context/context_demo2.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "context" 5 | "fmt" 6 | "time" 7 | ) 8 | 9 | func main() { 10 | d := time.Now().Add(50 * time.Millisecond) 11 | ctx, cancel := context.WithDeadline(context.Background(), d) 12 | 13 | defer cancel() 14 | 15 | select { 16 | case <-time.After(1 * time.Second): 17 | fmt.Println("overslept") 18 | case <-ctx.Done(): 19 | fmt.Println(ctx.Err()) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /deploy/docker-compose/daemon.json: -------------------------------------------------------------------------------- 1 | { "insecure-registries": ["registry:5000"] } -------------------------------------------------------------------------------- /http/server_demo.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "log" 6 | "net/http" 7 | "time" 8 | ) 9 | 10 | // hello world, the web server 11 | func HelloServer(resp http.ResponseWriter, req *http.Request) { 12 | fmt.Fprintln(resp, time.Now(), req.Header, req.Host) 13 | } 14 | 15 | func main() { 16 | http.HandleFunc("/", HelloServer) 17 | err := http.ListenAndServe(":8081", nil) 18 | if err != nil { 19 | log.Fatal("ListenAndServe: ", err) 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /http/socket_demo.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "fmt" 5 | "io/ioutil" 6 | "net" 7 | "os" 8 | ) 9 | 10 | func main() { 11 | if len(os.Args) != 2 { 12 | fmt.Fprintf(os.Stderr, "Usage: %s host:port", os.Args[0]) 13 | os.Exit(1) 14 | } 15 | service := os.Args[1] 16 | tcpAddr, err := net.ResolveTCPAddr("tcp4", service) 17 | checkError(err) 18 | conn, err := net.DialTCP("tcp", nil, tcpAddr) 19 | checkError(err) 20 | _, err = conn.Write([]byte("HEAD / HTTP/1.0\r\n\r\n")) 21 | checkError(err) 22 | result, err := ioutil.ReadAll(conn) 23 | checkError(err) 24 | fmt.Println(string(result)) 25 | os.Exit(0) 26 | } 27 | 28 | func checkError(err error) { 29 | if err != nil { 30 | fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error()) 31 | os.Exit(1) 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /jenkins-kube/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM jenkins:latest 2 | MAINTAINER cookeem cookeem@qq.com 3 | 4 | USER root 5 | 6 | # 安装kubectl 7 | RUN apt-get update && apt-get install -y apt-transport-https 8 | RUN curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add - 9 | RUN echo 'deb http://apt.kubernetes.io/ kubernetes-xenial main' > /etc/apt/sources.list.d/kubernetes.list 10 | RUN apt-get update 11 | RUN apt-get install -y kubectl 12 | 13 | USER jenkins 14 | ENTRYPOINT ["/bin/tini", "--", "/usr/local/bin/jenkins.sh"] 15 | 16 | # docker build -t jenkins-kube:latest jenkins-kube/ 17 | -------------------------------------------------------------------------------- /login/db.sqlite: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookeem/godemo/8edc156a8d58d39c942b0533206602f8be6508fc/login/db.sqlite -------------------------------------------------------------------------------- /rpcx/defaultcodec/defaultcodec.go: -------------------------------------------------------------------------------- 1 | package defaultcodec 2 | 3 | type Args struct { 4 | A int64 5 | B int64 6 | } 7 | 8 | type Reply struct { 9 | C int64 10 | } 11 | -------------------------------------------------------------------------------- /rpcx/gencode/gencode.schema: -------------------------------------------------------------------------------- 1 | struct Args { 2 | A int64 3 | B int64 4 | } 5 | 6 | struct Reply { 7 | C int64 8 | } 9 | 10 | -------------------------------------------------------------------------------- /test/equal.go: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | // a function to check if two numbers equals to each other. 4 | func equal(a, b int) bool { 5 | return a == b 6 | } 7 | -------------------------------------------------------------------------------- /test/equal_test.go: -------------------------------------------------------------------------------- 1 | package test 2 | 3 | import ( 4 | "testing" 5 | ) 6 | 7 | func TestEqual(t *testing.T) { 8 | a := 1 9 | b := 1 10 | shouldBe := true 11 | if real := equal(a, b); real != shouldBe { 12 | t.Errorf("equal(%d, %d) should be %v, but is:%v\n", a, b, shouldBe, real) 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/goconsole/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/actor.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | // The Producer type is a function that creates a new actor 4 | type Producer func() Actor 5 | 6 | // Actor is the interface that defines the Receive method. 7 | // 8 | // Receive is sent messages to be processed from the mailbox associated with the instance of the actor 9 | type Actor interface { 10 | Receive(c Context) 11 | } 12 | 13 | // The ActorFunc type is an adapter to allow the use of ordinary functions as actors to process messages 14 | type ActorFunc func(c Context) 15 | 16 | // Receive calls f(c) 17 | func (f ActorFunc) Receive(c Context) { 18 | f(c) 19 | } 20 | 21 | type SenderFunc func(c Context, target *PID, envelope *MessageEnvelope) 22 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/behaviorstack.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | type behaviorStack []ActorFunc 4 | 5 | func (b *behaviorStack) Clear() { 6 | if len(*b) == 0 { 7 | return 8 | } 9 | 10 | for i := range *b { 11 | (*b)[i] = nil 12 | } 13 | *b = (*b)[:0] 14 | } 15 | 16 | func (b *behaviorStack) Peek() (v ActorFunc, ok bool) { 17 | l := b.Len() 18 | if l > 0 { 19 | ok = true 20 | v = (*b)[l-1] 21 | } 22 | return 23 | } 24 | 25 | func (b *behaviorStack) Push(v ActorFunc) { 26 | *b = append(*b, v) 27 | } 28 | 29 | func (b *behaviorStack) Pop() (v ActorFunc, ok bool) { 30 | l := b.Len() 31 | if l > 0 { 32 | l-- 33 | ok = true 34 | v = (*b)[l] 35 | (*b)[l] = nil 36 | *b = (*b)[:l] 37 | } 38 | return 39 | } 40 | 41 | func (b *behaviorStack) Len() int { 42 | return len(*b) 43 | } 44 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/build.bat: -------------------------------------------------------------------------------- 1 | protoc -I=. -I=%GOPATH%\src --gogoslick_out=. protos.proto 2 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/directive.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | //Directive is an enum for supervision actions 4 | type Directive int 5 | 6 | // Directive determines how a supervisor should handle a faulting actor 7 | const ( 8 | // ResumeDirective instructs the supervisor to resume the actor and continue processing messages 9 | ResumeDirective Directive = iota 10 | 11 | // RestartDirective instructs the supervisor to discard the actor, replacing it with a new instance, 12 | // before processing additional messages 13 | RestartDirective 14 | 15 | // StopDirective instructs the supervisor to stop the actor 16 | StopDirective 17 | 18 | // EscalateDirective instructs the supervisor to escalate handling of the failure to the actor's parent supervisor 19 | EscalateDirective 20 | ) 21 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/directive_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type=Directive"; DO NOT EDIT 2 | 3 | package actor 4 | 5 | import "fmt" 6 | 7 | const _Directive_name = "ResumeDirectiveRestartDirectiveStopDirectiveEscalateDirective" 8 | 9 | var _Directive_index = [...]uint8{0, 15, 31, 44, 61} 10 | 11 | func (i Directive) String() string { 12 | if i < 0 || i >= Directive(len(_Directive_index)-1) { 13 | return fmt.Sprintf("Directive(%d)", i) 14 | } 15 | return _Directive_name[_Directive_index[i]:_Directive_index[i+1]] 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/local_process.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | import ( 4 | "sync/atomic" 5 | 6 | "github.com/AsynkronIT/protoactor-go/mailbox" 7 | ) 8 | 9 | type localProcess struct { 10 | mailbox mailbox.Inbound 11 | dead int32 12 | } 13 | 14 | func (ref *localProcess) SendUserMessage(pid *PID, message interface{}) { 15 | ref.mailbox.PostUserMessage(message) 16 | } 17 | func (ref *localProcess) SendSystemMessage(pid *PID, message interface{}) { 18 | ref.mailbox.PostSystemMessage(message) 19 | } 20 | 21 | func (ref *localProcess) Stop(pid *PID) { 22 | atomic.StoreInt32(&ref.dead, 1) 23 | ref.SendSystemMessage(pid, stopMessage) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/log.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | import ( 4 | "github.com/AsynkronIT/protoactor-go/log" 5 | ) 6 | 7 | var ( 8 | plog = log.New(log.DebugLevel, "[ACTOR]") 9 | ) 10 | 11 | // SetLogLevel sets the log level for the logger. 12 | // 13 | // SetLogLevel is safe to call concurrently 14 | func SetLogLevel(level log.Level) { 15 | plog.SetLevel(level) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/mailbox.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | import "github.com/AsynkronIT/protoactor-go/mailbox" 4 | 5 | var ( 6 | defaultDispatcher = mailbox.NewDefaultDispatcher(300) 7 | ) 8 | 9 | var defaultMailboxProducer = mailbox.Unbounded() 10 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/middleware_chain.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | func makeInboundMiddlewareChain(middleware []InboundMiddleware, lastReceiver ActorFunc) ActorFunc { 4 | if len(middleware) == 0 { 5 | return nil 6 | } 7 | 8 | h := middleware[len(middleware)-1](lastReceiver) 9 | for i := len(middleware) - 2; i >= 0; i-- { 10 | h = middleware[i](h) 11 | } 12 | return h 13 | } 14 | 15 | func makeOutboundMiddlewareChain(outboundMiddleware []OutboundMiddleware, lastSender SenderFunc) SenderFunc { 16 | if len(outboundMiddleware) == 0 { 17 | return nil 18 | } 19 | 20 | h := outboundMiddleware[len(outboundMiddleware)-1](lastSender) 21 | for i := len(outboundMiddleware) - 2; i >= 0; i-- { 22 | h = outboundMiddleware[i](h) 23 | } 24 | return h 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/process.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | // A Process is an interface that defines the base contract for interaction of actors 4 | type Process interface { 5 | SendUserMessage(pid *PID, message interface{}) 6 | SendSystemMessage(pid *PID, message interface{}) 7 | Stop(pid *PID) 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/protos.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package actor; 3 | 4 | //import "google/protobuf/any.proto"; 5 | import "github.com/gogo/protobuf/gogoproto/gogo.proto"; 6 | 7 | option (gogoproto.gostring_all) = false; 8 | 9 | message PID { 10 | option (gogoproto.typedecl) = false; 11 | option (gogoproto.stringer) = false; 12 | string address = 1; 13 | string id = 2; 14 | } 15 | 16 | //user messages 17 | message PoisonPill {} 18 | 19 | //system messages 20 | message Watch { 21 | PID watcher = 1; 22 | } 23 | 24 | message Unwatch { 25 | PID watcher = 1; 26 | } 27 | 28 | message Terminated { 29 | PID who = 1; 30 | bool address_terminated = 2; 31 | } 32 | 33 | message Stop {} -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/actor/strategy_restarting.go: -------------------------------------------------------------------------------- 1 | package actor 2 | 3 | func NewRestartingStrategy() SupervisorStrategy { 4 | return &restartingStrategy{} 5 | } 6 | 7 | type restartingStrategy struct{} 8 | 9 | func (strategy *restartingStrategy) HandleFailure(supervisor Supervisor, child *PID, rs *RestartStatistics, reason interface{}, message interface{}) { 10 | //always restart 11 | supervisor.RestartChildren(child) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/eventstream/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package eventstream implements a publisher / subscriber. 3 | */ 4 | package eventstream 5 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/examples/chat/messages/build.bat: -------------------------------------------------------------------------------- 1 | protoc -I=. -I=${GOPATH}/src --gogoslick_out=plugins=grpc:. protos.proto 2 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/examples/chat/messages/protos.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package messages; 3 | import "github.com/AsynkronIT/protoactor-go/actor/protos.proto"; 4 | 5 | message Connect { 6 | actor.PID Sender = 1; 7 | } 8 | 9 | message Connected { 10 | string Message = 1; 11 | } 12 | 13 | message SayRequest { 14 | string UserName = 1; 15 | string Message = 2; 16 | } 17 | 18 | message SayResponse { 19 | string UserName = 1; 20 | string Message = 2; 21 | } 22 | 23 | message NickRequest { 24 | string OldUserName = 1; 25 | string NewUserName = 2; 26 | } 27 | 28 | message NickResponse { 29 | string OldUserName = 1; 30 | string NewUserName = 2; 31 | } -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/log/encoder.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import ( 4 | "reflect" 5 | "time" 6 | ) 7 | 8 | type Encoder interface { 9 | EncodeBool(key string, val bool) 10 | EncodeFloat64(key string, val float64) 11 | EncodeInt(key string, val int) 12 | EncodeInt64(key string, val int64) 13 | EncodeDuration(key string, val time.Duration) 14 | EncodeUint(key string, val uint) 15 | EncodeUint64(key string, val uint64) 16 | EncodeString(key string, val string) 17 | EncodeObject(key string, val interface{}) 18 | EncodeType(key string, val reflect.Type) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/log/event.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | import "time" 4 | 5 | type Event struct { 6 | Time time.Time 7 | Level Level 8 | Prefix string 9 | Message string 10 | Context []Field 11 | Fields []Field 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/log/options.go: -------------------------------------------------------------------------------- 1 | package log 2 | 3 | type optionFn func() 4 | 5 | // WithEventSubscriber option replaces the default Event subscriber with fn. 6 | // 7 | // Specifying nil will disable logging of events. 8 | func WithEventSubscriber(fn func(evt Event)) optionFn { 9 | return func() { 10 | if sub != nil { 11 | Unsubscribe(sub) 12 | } 13 | if fn != nil { 14 | sub = Subscribe(fn) 15 | } 16 | } 17 | } 18 | 19 | // SetOptions is used to configure the log system 20 | func SetOptions(opts ...optionFn) { 21 | for _, opt := range opts { 22 | opt() 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/mailbox/dispatcher.go: -------------------------------------------------------------------------------- 1 | package mailbox 2 | 3 | type Dispatcher interface { 4 | Schedule(fn func()) 5 | Throughput() int 6 | } 7 | 8 | type goroutineDispatcher int 9 | 10 | func (goroutineDispatcher) Schedule(fn func()) { 11 | go fn() 12 | } 13 | 14 | func (d goroutineDispatcher) Throughput() int { 15 | return int(d) 16 | } 17 | 18 | func NewDefaultDispatcher(throughput int) Dispatcher { 19 | return goroutineDispatcher(throughput) 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/mailbox/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package mailbox implements mailbox queues and dispatching 3 | */ 4 | package mailbox 5 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/mailbox/log.go: -------------------------------------------------------------------------------- 1 | package mailbox 2 | 3 | import ( 4 | "github.com/AsynkronIT/protoactor-go/log" 5 | ) 6 | 7 | var ( 8 | plog = log.New(log.DebugLevel, "[MAILBOX]") 9 | ) 10 | 11 | // SetLogLevel sets the log level for the logger. 12 | // 13 | // SetLogLevel is safe to call concurrently 14 | func SetLogLevel(level log.Level) { 15 | plog.SetLevel(level) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/mailbox/messages.go: -------------------------------------------------------------------------------- 1 | package mailbox 2 | 3 | // ResumeMailbox is message sent by the actor system to resume mailbox processing. 4 | // 5 | // This will not be forwarded to the Receive method 6 | type ResumeMailbox struct{} 7 | 8 | // SuspendMailbox is message sent by the actor system to suspend mailbox processing. 9 | // 10 | // This will not be forwarded to the Receive method 11 | type SuspendMailbox struct{} 12 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/mailbox/queue.go: -------------------------------------------------------------------------------- 1 | package mailbox 2 | 3 | type queue interface { 4 | Push(interface{}) 5 | Pop() interface{} 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/mailbox/unbounded_lock_free.go: -------------------------------------------------------------------------------- 1 | package mailbox 2 | 3 | import ( 4 | "github.com/AsynkronIT/protoactor-go/internal/queue/mpsc" 5 | ) 6 | 7 | // UnboundedLockfree returns a producer which creates an unbounded, lock-free mailbox. 8 | // This mailbox is cheaper to allocate, but has a slower throughput than the plain Unbounded mailbox. 9 | func UnboundedLockfree(mailboxStats ...Statistics) Producer { 10 | return func(invoker MessageInvoker, dispatcher Dispatcher) Inbound { 11 | return &defaultMailbox{ 12 | userMailbox: mpsc.New(), 13 | systemMailbox: mpsc.New(), 14 | invoker: invoker, 15 | mailboxStats: mailboxStats, 16 | dispatcher: dispatcher, 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/build.bat: -------------------------------------------------------------------------------- 1 | protoc -I=. -I=%GOPATH%\src --gogoslick_out=plugins=grpc:. protos.proto 2 | go build 3 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/build.sh: -------------------------------------------------------------------------------- 1 | protoc -I=. -I=$GOPATH/src --gogoslick_out=plugins=grpc:. protos.proto 2 | go build 3 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package remote provides access to actors across a network or other I/O connection. 3 | 4 | 5 | */ 6 | package remote 7 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/log.go: -------------------------------------------------------------------------------- 1 | package remote 2 | 3 | import ( 4 | "github.com/AsynkronIT/protoactor-go/log" 5 | ) 6 | 7 | var ( 8 | plog = log.New(log.DebugLevel, "[REMOTE]") 9 | ) 10 | 11 | // SetLogLevel sets the log level for the logger. 12 | // 13 | // SetLogLevel is safe to call concurrently 14 | func SetLogLevel(level log.Level) { 15 | plog.SetLevel(level) 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/messages.go: -------------------------------------------------------------------------------- 1 | package remote 2 | 3 | import "github.com/AsynkronIT/protoactor-go/actor" 4 | 5 | type StopEndpointManager struct{} 6 | 7 | type EndpointTerminatedEvent struct { 8 | Address string 9 | } 10 | 11 | type EndpointConnectedEvent struct { 12 | Address string 13 | } 14 | 15 | type remoteWatch struct { 16 | Watcher *actor.PID 17 | Watchee *actor.PID 18 | } 19 | 20 | type remoteUnwatch struct { 21 | Watcher *actor.PID 22 | Watchee *actor.PID 23 | } 24 | 25 | type remoteTerminate struct { 26 | Watcher *actor.PID 27 | Watchee *actor.PID 28 | } 29 | 30 | type JsonMessage struct { 31 | TypeName string 32 | Json string 33 | } 34 | 35 | var ( 36 | stopMessage interface{} = &actor.Stop{} 37 | ) 38 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/remote_handler.go: -------------------------------------------------------------------------------- 1 | package remote 2 | 3 | import "github.com/AsynkronIT/protoactor-go/actor" 4 | 5 | func remoteHandler(pid *actor.PID) (actor.Process, bool) { 6 | ref := newProcess(pid) 7 | return ref, true 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/AsynkronIT/protoactor-go/remote/response_status_code.go: -------------------------------------------------------------------------------- 1 | package remote 2 | 3 | type ResponseStatusCode int32 4 | 5 | const ( 6 | ResponseStatusCodeOK ResponseStatusCode = iota 7 | ResponseStatusCodeUNAVAILABLE 8 | ResponseStatusCodeTIMEOUT 9 | ResponseStatusCodePROCESSNAMEALREADYEXIST 10 | ResponseStatusCodeERROR 11 | ) 12 | 13 | func (c ResponseStatusCode) ToInt32() int32 { 14 | return int32(c) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.gitattributes: -------------------------------------------------------------------------------- 1 | testdata/* linguist-vendored 2 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.gitignore: -------------------------------------------------------------------------------- 1 | # editor temporary files 2 | *.sublime-* 3 | .DS_Store 4 | *.swp 5 | #*.*# 6 | tags 7 | 8 | # direnv config 9 | .env* 10 | 11 | # test binaries 12 | *.test 13 | 14 | # coverage and profilte outputs 15 | *.out 16 | 17 | -------------------------------------------------------------------------------- /vendor/github.com/PuerkitoBio/goquery/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.1 5 | - 1.2 6 | - 1.3 7 | - 1.4 8 | - 1.5 9 | - 1.6 10 | - 1.7 11 | - tip 12 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.3 5 | - 1.4 6 | 7 | install: 8 | - go get github.com/andybalholm/cascadia 9 | 10 | script: 11 | - go test -v 12 | 13 | notifications: 14 | email: false 15 | -------------------------------------------------------------------------------- /vendor/github.com/andybalholm/cascadia/README.md: -------------------------------------------------------------------------------- 1 | # cascadia 2 | 3 | [![](https://travis-ci.org/andybalholm/cascadia.svg)](https://travis-ci.org/andybalholm/cascadia) 4 | 5 | The Cascadia package implements CSS selectors for use with the parse trees produced by the html package. 6 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | matrix: 3 | include: 4 | - go: 1.4.3 5 | - go: 1.5.4 6 | - go: 1.6.3 7 | - go: 1.7 8 | - go: tip 9 | allow_failures: 10 | - go: tip 11 | install: 12 | - go get golang.org/x/tools/cmd/cover 13 | - go get github.com/mattn/goveralls 14 | script: 15 | - echo "Test and track coverage" ; $HOME/gopath/bin/goveralls -package "." -service=travis-ci 16 | -repotoken $COVERALLS_TOKEN 17 | - echo "Build examples" ; cd examples && go build 18 | - echo "Check if gofmt'd" ; diff -u <(echo -n) <(gofmt -d -s .) 19 | env: 20 | global: 21 | secure: HroGEAUQpVq9zX1b1VIkraLiywhGbzvNnTZq2TMxgK7JHP8xqNplAeF1izrR2i4QLL9nsY+9WtYss4QuPvEtZcVHUobw6XnL6radF7jS1LgfYZ9Y7oF+zogZ2I5QUMRLGA7rcxQ05s7mKq3XZQfeqaNts4bms/eZRefWuaFZbkw= 22 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/json.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "encoding/json" 5 | ) 6 | 7 | // MarshalJSON implements the encoding/json.Marshaler interface. 8 | func (v Version) MarshalJSON() ([]byte, error) { 9 | return json.Marshal(v.String()) 10 | } 11 | 12 | // UnmarshalJSON implements the encoding/json.Unmarshaler interface. 13 | func (v *Version) UnmarshalJSON(data []byte) (err error) { 14 | var versionString string 15 | 16 | if err = json.Unmarshal(data, &versionString); err != nil { 17 | return 18 | } 19 | 20 | *v, err = Parse(versionString) 21 | 22 | return 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "blang", 3 | "bugs": { 4 | "URL": "https://github.com/blang/semver/issues", 5 | "url": "https://github.com/blang/semver/issues" 6 | }, 7 | "gx": { 8 | "dvcsimport": "github.com/blang/semver" 9 | }, 10 | "gxVersion": "0.10.0", 11 | "language": "go", 12 | "license": "MIT", 13 | "name": "semver", 14 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 15 | "version": "3.5.1" 16 | } 17 | 18 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/sort.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "sort" 5 | ) 6 | 7 | // Versions represents multiple versions. 8 | type Versions []Version 9 | 10 | // Len returns length of version collection 11 | func (s Versions) Len() int { 12 | return len(s) 13 | } 14 | 15 | // Swap swaps two versions inside the collection by its indices 16 | func (s Versions) Swap(i, j int) { 17 | s[i], s[j] = s[j], s[i] 18 | } 19 | 20 | // Less checks if version at index i is less than version at index j 21 | func (s Versions) Less(i, j int) bool { 22 | return s[i].LT(s[j]) 23 | } 24 | 25 | // Sort sorts a slice of versions 26 | func Sort(versions []Version) { 27 | sort.Sort(Versions(versions)) 28 | } 29 | -------------------------------------------------------------------------------- /vendor/github.com/blang/semver/sql.go: -------------------------------------------------------------------------------- 1 | package semver 2 | 3 | import ( 4 | "database/sql/driver" 5 | "fmt" 6 | ) 7 | 8 | // Scan implements the database/sql.Scanner interface. 9 | func (v *Version) Scan(src interface{}) (err error) { 10 | var str string 11 | switch src := src.(type) { 12 | case string: 13 | str = src 14 | case []byte: 15 | str = string(src) 16 | default: 17 | return fmt.Errorf("Version.Scan: cannot convert %T to string.", src) 18 | } 19 | 20 | if t, err := Parse(str); err == nil { 21 | *v = t 22 | } 23 | 24 | return 25 | } 26 | 27 | // Value implements the database/sql/driver.Valuer interface. 28 | func (v Version) Value() (driver.Value, error) { 29 | return v.String(), nil 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/linkedlist/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | test/coverage.out 3 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/set/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | test/coverage.out 3 | 4 | test/coverage.out 5 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | test/coverage.out 3 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/README.md: -------------------------------------------------------------------------------- 1 | ### [Details and docs...](https://clipperhouse.github.io/gen/slice/) 2 | 3 | This package is a typewriter for use with [gen](https://github.com/clipperhouse/gen), a type-driven code generation tool for Go. 4 | 5 | The slice typewriter offers LINQ-like methods for working with slices, such as filtering and sorting. See the docs above for details. 6 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/aggregate.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var aggregateT = &typewriter.Template{ 6 | Name: "Aggregate", 7 | Text: ` 8 | // Aggregate{{.TypeParameter.LongName}} iterates over {{.SliceName}}, operating on each element while maintaining ‘state’. See: http://clipperhouse.github.io/gen/#Aggregate 9 | func (rcv {{.SliceName}}) Aggregate{{.TypeParameter.LongName}}(fn func({{.TypeParameter}}, {{.Type}}) {{.TypeParameter}}) (result {{.TypeParameter}}) { 10 | for _, v := range rcv { 11 | result = fn(result, v) 12 | } 13 | return 14 | } 15 | `, 16 | TypeParameterConstraints: []typewriter.Constraint{ 17 | // exactly one type parameter is required, but no constraints on that type 18 | {}, 19 | }, 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/all.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var all = &typewriter.Template{ 6 | Name: "All", 7 | Text: ` 8 | // All verifies that all elements of {{.SliceName}} return true for the passed func. See: http://clipperhouse.github.io/gen/#All 9 | func (rcv {{.SliceName}}) All(fn func({{.Type}}) bool) bool { 10 | for _, v := range rcv { 11 | if !fn(v) { 12 | return false 13 | } 14 | } 15 | return true 16 | } 17 | `} 18 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/any.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var any = &typewriter.Template{ 6 | Name: "Any", 7 | Text: ` 8 | // Any verifies that one or more elements of {{.SliceName}} return true for the passed func. See: http://clipperhouse.github.io/gen/#Any 9 | func (rcv {{.SliceName}}) Any(fn func({{.Type}}) bool) bool { 10 | for _, v := range rcv { 11 | if fn(v) { 12 | return true 13 | } 14 | } 15 | return false 16 | } 17 | `} 18 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/count.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var count = &typewriter.Template{ 6 | Name: "Count", 7 | Text: ` 8 | // Count gives the number elements of {{.SliceName}} that return true for the passed func. See: http://clipperhouse.github.io/gen/#Count 9 | func (rcv {{.SliceName}}) Count(fn func({{.Type}}) bool) (result int) { 10 | for _, v := range rcv { 11 | if fn(v) { 12 | result++ 13 | } 14 | } 15 | return 16 | } 17 | `} 18 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/distinct.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var distinct = &typewriter.Template{ 6 | Name: "Distinct", 7 | Text: ` 8 | // Distinct returns a new {{.SliceName}} whose elements are unique. See: http://clipperhouse.github.io/gen/#Distinct 9 | func (rcv {{.SliceName}}) Distinct() (result {{.SliceName}}) { 10 | appended := make(map[{{.Type}}]bool) 11 | for _, v := range rcv { 12 | if !appended[v] { 13 | result = append(result, v) 14 | appended[v] = true 15 | } 16 | } 17 | return result 18 | } 19 | `, 20 | TypeConstraint: typewriter.Constraint{Comparable: true}, 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/distinctby.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var distinctBy = &typewriter.Template{ 6 | Name: "DistinctBy", 7 | Text: ` 8 | // DistinctBy returns a new {{.SliceName}} whose elements are unique, where equality is defined by a passed func. See: http://clipperhouse.github.io/gen/#DistinctBy 9 | func (rcv {{.SliceName}}) DistinctBy(equal func({{.Type}}, {{.Type}}) bool) (result {{.SliceName}}) { 10 | Outer: 11 | for _, v := range rcv { 12 | for _, r := range result { 13 | if equal(v, r) { 14 | continue Outer 15 | } 16 | } 17 | result = append(result, v) 18 | } 19 | return result 20 | } 21 | `} 22 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/each.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var each = &typewriter.Template{ 6 | Name: "Each", 7 | Text: ` 8 | // Each iterates over {{.SliceName}} and executes the passed func against each element. See: http://clipperhouse.github.io/gen/#Each 9 | func (rcv {{.SliceName}}) Each(fn func({{.Type}})) { 10 | for _, v := range rcv { 11 | fn(v) 12 | } 13 | } 14 | `} 15 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/first.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var first = &typewriter.Template{ 6 | Name: "First", 7 | Text: ` 8 | // First returns the first element that returns true for the passed func. Returns error if no elements return true. See: http://clipperhouse.github.io/gen/#First 9 | func (rcv {{.SliceName}}) First(fn func({{.Type}}) bool) (result {{.Type}}, err error) { 10 | for _, v := range rcv { 11 | if fn(v) { 12 | result = v 13 | return 14 | } 15 | } 16 | err = errors.New("no {{.SliceName}} elements return true for passed func") 17 | return 18 | } 19 | `} 20 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/groupby.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var groupByT = &typewriter.Template{ 6 | Name: "GroupBy", 7 | Text: ` 8 | // GroupBy{{.TypeParameter.LongName}} groups elements into a map keyed by {{.TypeParameter}}. See: http://clipperhouse.github.io/gen/#GroupBy 9 | func (rcv {{.SliceName}}) GroupBy{{.TypeParameter.LongName}}(fn func({{.Type}}) {{.TypeParameter}}) map[{{.TypeParameter}}]{{.SliceName}} { 10 | result := make(map[{{.TypeParameter}}]{{.SliceName}}) 11 | for _, v := range rcv { 12 | key := fn(v) 13 | result[key] = append(result[key], v) 14 | } 15 | return result 16 | } 17 | `, 18 | TypeParameterConstraints: []typewriter.Constraint{ 19 | // exactly one type parameter is required, and it must be comparable 20 | {Comparable: true}, 21 | }, 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/select.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var selectT = &typewriter.Template{ 6 | Name: "Select", 7 | Text: ` 8 | // Select{{.TypeParameter.LongName}} projects a slice of {{.TypeParameter}} from {{.SliceName}}, typically called a map in other frameworks. See: http://clipperhouse.github.io/gen/#Select 9 | func (rcv {{.SliceName}}) Select{{.TypeParameter.LongName}}(fn func({{.Type}}) {{.TypeParameter}}) (result []{{.TypeParameter}}) { 10 | for _, v := range rcv { 11 | result = append(result, fn(v)) 12 | } 13 | return 14 | } 15 | `, 16 | TypeParameterConstraints: []typewriter.Constraint{ 17 | // exactly one type parameter is required, but no constraints on that type 18 | {}, 19 | }, 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/shuffle.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var shuffle = &typewriter.Template{ 6 | Name: "Shuffle", 7 | Text: ` 8 | // Shuffle returns a shuffled copy of {{.SliceName}}, using a version of the Fisher-Yates shuffle. See: http://clipperhouse.github.io/gen/#Shuffle 9 | func (rcv {{.SliceName}}) Shuffle() {{.SliceName}} { 10 | numItems := len(rcv) 11 | result := make({{.SliceName}}, numItems) 12 | copy(result, rcv) 13 | for i := 0; i < numItems; i++ { 14 | r := i + rand.Intn(numItems-i) 15 | result[r], result[i] = result[i], result[r] 16 | } 17 | return result 18 | } 19 | `} 20 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/slice.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var slice = &typewriter.Template{ 6 | Name: "slice", 7 | Text: `// {{.SliceName}} is a slice of type {{.Type}}. Use it where you would use []{{.Type}}. 8 | type {{.SliceName}} []{{.Type}} 9 | `, 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/sortinterface.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var sortInterface = &typewriter.Template{ 6 | Name: "sortInterface", 7 | Text: ` 8 | func (rcv {{.SliceName}}) Len() int { 9 | return len(rcv) 10 | } 11 | func (rcv {{.SliceName}}) Less(i, j int) bool { 12 | return rcv[i] < rcv[j] 13 | } 14 | func (rcv {{.SliceName}}) Swap(i, j int) { 15 | rcv[i], rcv[j] = rcv[j], rcv[i] 16 | } 17 | `} 18 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/slice/where.go: -------------------------------------------------------------------------------- 1 | package slice 2 | 3 | import "github.com/clipperhouse/typewriter" 4 | 5 | var where = &typewriter.Template{ 6 | Name: "Where", 7 | Text: ` 8 | // Where returns a new {{.SliceName}} whose elements return true for func. See: http://clipperhouse.github.io/gen/#Where 9 | func (rcv {{.SliceName}}) Where(fn func({{.Type}}) bool) (result {{.SliceName}}) { 10 | for _, v := range rcv { 11 | if fn(v) { 12 | result = append(result, v) 13 | } 14 | } 15 | return result 16 | } 17 | `} 18 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/.gitignore: -------------------------------------------------------------------------------- 1 | 2 | coverage.out 3 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/_gen.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | _ "github.com/clipperhouse/slice" 5 | _ "github.com/clipperhouse/set" 6 | _ "github.com/clipperhouse/stringer" 7 | ) 8 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/config.go: -------------------------------------------------------------------------------- 1 | package typewriter 2 | 3 | import "os" 4 | 5 | type Config struct { 6 | Filter func(os.FileInfo) bool 7 | IgnoreTypeCheckErrors bool 8 | } 9 | 10 | var DefaultConfig = &Config{} 11 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/importspec.go: -------------------------------------------------------------------------------- 1 | package typewriter 2 | 3 | // ImportSpec describes the name and path of an import. 4 | // The name is often omitted. 5 | // 6 | // +gen set 7 | type ImportSpec struct { 8 | Name, Path string 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/itemtype_stringer.go: -------------------------------------------------------------------------------- 1 | // Generated by: main 2 | // TypeWriter: stringer 3 | // Directive: +gen on itemType 4 | 5 | package typewriter 6 | 7 | import ( 8 | "fmt" 9 | ) 10 | 11 | const _itemType_name = "itemErroritemCommentPrefixitemDirectiveitemPointeritemTagitemColonQuoteitemMinusitemTagValueitemTypeParameteritemCloseQuoteitemEOF" 12 | 13 | var _itemType_index = [...]uint8{0, 9, 26, 39, 50, 57, 71, 80, 92, 109, 123, 130} 14 | 15 | func (i itemType) String() string { 16 | if i < 0 || i+1 >= itemType(len(_itemType_index)) { 17 | return fmt.Sprintf("itemType(%d)", i) 18 | } 19 | return _itemType_name[_itemType_index[i]:_itemType_index[i+1]] 20 | } 21 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/tag.go: -------------------------------------------------------------------------------- 1 | package typewriter 2 | 3 | // +gen slice 4 | type Tag struct { 5 | Name string 6 | Values []TagValue 7 | Negated bool 8 | } 9 | 10 | type TagValue struct { 11 | Name string 12 | TypeParameters []Type 13 | typeParameters []item 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/tag_slice.go: -------------------------------------------------------------------------------- 1 | // Generated by: main 2 | // TypeWriter: slice 3 | // Directive: +gen on Tag 4 | 5 | package typewriter 6 | 7 | // TagSlice is a slice of type Tag. Use it where you would use []Tag. 8 | type TagSlice []Tag 9 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/template_slice.go: -------------------------------------------------------------------------------- 1 | // Generated by: main 2 | // TypeWriter: slice 3 | // Directive: +gen on *Template 4 | 5 | package typewriter 6 | 7 | // TemplateSlice is a slice of type *Template. Use it where you would use []*Template. 8 | type TemplateSlice []*Template 9 | 10 | // Where returns a new TemplateSlice whose elements return true for func. See: http://clipperhouse.github.io/gen/#Where 11 | func (rcv TemplateSlice) Where(fn func(*Template) bool) (result TemplateSlice) { 12 | for _, v := range rcv { 13 | if fn(v) { 14 | result = append(result, v) 15 | } 16 | } 17 | return result 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/test.bat: -------------------------------------------------------------------------------- 1 | @echo off 2 | go get 3 | go test -coverprofile=coverage.out 4 | go tool cover -html=coverage.out 5 | -------------------------------------------------------------------------------- /vendor/github.com/clipperhouse/typewriter/test.sh: -------------------------------------------------------------------------------- 1 | go get 2 | touch coverage.out 3 | go test -coverprofile=coverage.out 4 | go tool cover -html=coverage.out 5 | -------------------------------------------------------------------------------- /vendor/github.com/coreos/etcd/NOTICE: -------------------------------------------------------------------------------- 1 | CoreOS Project 2 | Copyright 2014 CoreOS, Inc 3 | 4 | This product includes software developed at CoreOS, Inc. 5 | (http://www.coreos.com/). 6 | -------------------------------------------------------------------------------- /vendor/github.com/coreos/etcd/client/cancelreq.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // borrowed from golang/net/context/ctxhttp/cancelreq.go 6 | 7 | package client 8 | 9 | import "net/http" 10 | 11 | func requestCanceler(tr CancelableTransport, req *http.Request) func() { 12 | ch := make(chan struct{}) 13 | req.Cancel = ch 14 | 15 | return func() { 16 | close(ch) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The etcd Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package rpctypes has types and values shared by the etcd server and client for v3 RPC interaction. 16 | package rpctypes 17 | -------------------------------------------------------------------------------- /vendor/github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes/md.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The etcd Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | package rpctypes 16 | 17 | var ( 18 | MetadataRequireLeaderKey = "hasleader" 19 | MetadataHasLeader = "true" 20 | ) 21 | -------------------------------------------------------------------------------- /vendor/github.com/coreos/etcd/pkg/types/doc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The etcd Authors 2 | // 3 | // Licensed under the Apache License, Version 2.0 (the "License"); 4 | // you may not use this file except in compliance with the License. 5 | // You may obtain a copy of the License at 6 | // 7 | // http://www.apache.org/licenses/LICENSE-2.0 8 | // 9 | // Unless required by applicable law or agreed to in writing, software 10 | // distributed under the License is distributed on an "AS IS" BASIS, 11 | // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | // See the License for the specific language governing permissions and 13 | // limitations under the License. 14 | 15 | // Package types declares various data types and implements type-checking 16 | // functions. 17 | package types 18 | -------------------------------------------------------------------------------- /vendor/github.com/emirpasic/gods/containers/serialization.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015, Emir Pasic. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package containers 6 | 7 | // JSONSerializer provides JSON serialization 8 | type JSONSerializer interface { 9 | // ToJSON outputs the JSON representation of containers's elements. 10 | ToJSON() ([]byte, error) 11 | } 12 | 13 | // JSONDeserializer provides JSON deserialization 14 | type JSONDeserializer interface { 15 | // FromJSON populates containers's elements from the input JSON representation. 16 | FromJSON([]byte) error 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/emirpasic/gods/stacks/linkedliststack/serialization.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015, Emir Pasic. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package linkedliststack 6 | 7 | import "github.com/emirpasic/gods/containers" 8 | 9 | func assertSerializationImplementation() { 10 | var _ containers.JSONSerializer = (*Stack)(nil) 11 | var _ containers.JSONDeserializer = (*Stack)(nil) 12 | } 13 | 14 | // ToJSON outputs the JSON representation of list's elements. 15 | func (stack *Stack) ToJSON() ([]byte, error) { 16 | return stack.list.ToJSON() 17 | } 18 | 19 | // FromJSON populates list's elements from the input JSON representation. 20 | func (stack *Stack) FromJSON(data []byte) error { 21 | return stack.list.FromJSON(data) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/fatih/color/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.8.x 4 | - tip 5 | 6 | -------------------------------------------------------------------------------- /vendor/github.com/gin-contrib/sse/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.6.4 5 | - 1.7.4 6 | - tip 7 | 8 | git: 9 | depth: 3 10 | 11 | script: 12 | - go test -v -covermode=count -coverprofile=coverage.out 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) -------------------------------------------------------------------------------- /vendor/github.com/gin-contrib/sse/writer.go: -------------------------------------------------------------------------------- 1 | package sse 2 | 3 | import "io" 4 | 5 | type stringWriter interface { 6 | io.Writer 7 | WriteString(string) (int, error) 8 | } 9 | 10 | type stringWrapper struct { 11 | io.Writer 12 | } 13 | 14 | func (w stringWrapper) WriteString(str string) (int, error) { 15 | return w.Writer.Write([]byte(str)) 16 | } 17 | 18 | func checkWriter(writer io.Writer) stringWriter { 19 | if w, ok := writer.(stringWriter); ok { 20 | return w 21 | } else { 22 | return stringWrapper{writer} 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/.gitignore: -------------------------------------------------------------------------------- 1 | vendor/* 2 | !vendor/vendor.json 3 | coverage.out 4 | count.out 5 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.6.x 5 | - 1.7.x 6 | - 1.8.x 7 | - 1.9.x 8 | - master 9 | 10 | git: 11 | depth: 3 12 | 13 | install: 14 | - make install 15 | 16 | go_import_path: github.com/gin-gonic/gin 17 | 18 | script: 19 | - make vet 20 | - make fmt-check 21 | - make embedmd 22 | - make misspell-check 23 | - make test 24 | 25 | after_success: 26 | - bash <(curl -s https://codecov.io/bash) 27 | 28 | notifications: 29 | webhooks: 30 | urls: 31 | - https://webhooks.gitter.im/e/7f95bf605c4d356372f4 32 | on_success: change # options: [always|never|change] default: always 33 | on_failure: always # options: [always|never|change] default: always 34 | on_start: false # default: false 35 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Contributing 2 | 3 | - With issues: 4 | - Use the search tool before opening a new issue. 5 | - Please provide source code and commit sha if you found a bug. 6 | - Review existing issues and provide feedback or react to them. 7 | 8 | - With pull requests: 9 | - Open your pull request against `master` 10 | - Your pull request should have no more than two commits, if not you should squash them. 11 | - It should pass all tests in the available continuous integrations systems such as TravisCI. 12 | - You should add/modify tests to cover your proposed code changes. 13 | - If your pull request contains a new feature, please document it on the README. 14 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/json.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package binding 6 | 7 | import ( 8 | "net/http" 9 | 10 | "github.com/gin-gonic/gin/json" 11 | ) 12 | 13 | var EnableDecoderUseNumber = false 14 | 15 | type jsonBinding struct{} 16 | 17 | func (jsonBinding) Name() string { 18 | return "json" 19 | } 20 | 21 | func (jsonBinding) Bind(req *http.Request, obj interface{}) error { 22 | decoder := json.NewDecoder(req.Body) 23 | if EnableDecoderUseNumber { 24 | decoder.UseNumber() 25 | } 26 | if err := decoder.Decode(obj); err != nil { 27 | return err 28 | } 29 | return validate(obj) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/msgpack.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package binding 6 | 7 | import ( 8 | "net/http" 9 | 10 | "github.com/ugorji/go/codec" 11 | ) 12 | 13 | type msgpackBinding struct{} 14 | 15 | func (msgpackBinding) Name() string { 16 | return "msgpack" 17 | } 18 | 19 | func (msgpackBinding) Bind(req *http.Request, obj interface{}) error { 20 | if err := codec.NewDecoder(req.Body, new(codec.MsgpackHandle)).Decode(&obj); err != nil { 21 | return err 22 | } 23 | return validate(obj) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/query.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package binding 6 | 7 | import "net/http" 8 | 9 | type queryBinding struct{} 10 | 11 | func (queryBinding) Name() string { 12 | return "query" 13 | } 14 | 15 | func (queryBinding) Bind(req *http.Request, obj interface{}) error { 16 | values := req.URL.Query() 17 | if err := mapForm(obj, values); err != nil { 18 | return err 19 | } 20 | return validate(obj) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/binding/xml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package binding 6 | 7 | import ( 8 | "encoding/xml" 9 | "net/http" 10 | ) 11 | 12 | type xmlBinding struct{} 13 | 14 | func (xmlBinding) Name() string { 15 | return "xml" 16 | } 17 | 18 | func (xmlBinding) Bind(req *http.Request, obj interface{}) error { 19 | decoder := xml.NewDecoder(req.Body) 20 | if err := decoder.Decode(obj); err != nil { 21 | return err 22 | } 23 | return validate(obj) 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | notify: 3 | gitter: 4 | default: 5 | url: https://webhooks.gitter.im/e/d90dcdeeab2f1e357165 6 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/context_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | // Copyright 2017 Manu Martinez-Almeida. All rights reserved. 4 | // Use of this source code is governed by a MIT style 5 | // license that can be found in the LICENSE file. 6 | 7 | package gin 8 | 9 | func init() { 10 | defaultAppEngine = true 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/deprecated.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gin 6 | 7 | import ( 8 | "log" 9 | 10 | "github.com/gin-gonic/gin/binding" 11 | ) 12 | 13 | // BindWith binds the passed struct pointer using the specified binding engine. 14 | // See the binding package. 15 | func (c *Context) BindWith(obj interface{}, b binding.Binding) error { 16 | log.Println(`BindWith(\"interface{}, binding.Binding\") error is going to 17 | be deprecated, please check issue #662 and either use MustBindWith() if you 18 | want HTTP 400 to be automatically returned if any error occur, or use 19 | ShouldBindWith() if you need to manage the error.`) 20 | return c.MustBindWith(obj, b) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | Package gin implements a HTTP web framework called gin. 3 | 4 | See https://gin-gonic.github.io/gin/ for more information about gin. 5 | */ 6 | package gin 7 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/json/json.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Bo-Yi Wu. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !jsoniter 6 | 7 | package json 8 | 9 | import "encoding/json" 10 | 11 | var ( 12 | Marshal = json.Marshal 13 | MarshalIndent = json.MarshalIndent 14 | NewDecoder = json.NewDecoder 15 | ) 16 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/json/jsoniter.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Bo-Yi Wu. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build jsoniter 6 | 7 | package json 8 | 9 | import "github.com/json-iterator/go" 10 | 11 | var ( 12 | json = jsoniter.ConfigCompatibleWithStandardLibrary 13 | Marshal = json.Marshal 14 | MarshalIndent = json.MarshalIndent 15 | NewDecoder = json.NewDecoder 16 | ) 17 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/data.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import "net/http" 8 | 9 | type Data struct { 10 | ContentType string 11 | Data []byte 12 | } 13 | 14 | // Render (Data) writes data with custom ContentType. 15 | func (r Data) Render(w http.ResponseWriter) (err error) { 16 | r.WriteContentType(w) 17 | _, err = w.Write(r.Data) 18 | return 19 | } 20 | 21 | func (r Data) WriteContentType(w http.ResponseWriter) { 22 | writeContentType(w, []string{r.ContentType}) 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/redirect.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "fmt" 9 | "net/http" 10 | ) 11 | 12 | type Redirect struct { 13 | Code int 14 | Request *http.Request 15 | Location string 16 | } 17 | 18 | func (r Redirect) Render(w http.ResponseWriter) error { 19 | if (r.Code < 300 || r.Code > 308) && r.Code != 201 { 20 | panic(fmt.Sprintf("Cannot redirect with status code %d", r.Code)) 21 | } 22 | http.Redirect(w, r.Request, r.Location, r.Code) 23 | return nil 24 | } 25 | 26 | func (r Redirect) WriteContentType(http.ResponseWriter) {} 27 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/xml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "encoding/xml" 9 | "net/http" 10 | ) 11 | 12 | type XML struct { 13 | Data interface{} 14 | } 15 | 16 | var xmlContentType = []string{"application/xml; charset=utf-8"} 17 | 18 | func (r XML) Render(w http.ResponseWriter) error { 19 | r.WriteContentType(w) 20 | return xml.NewEncoder(w).Encode(r.Data) 21 | } 22 | 23 | func (r XML) WriteContentType(w http.ResponseWriter) { 24 | writeContentType(w, xmlContentType) 25 | } 26 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/render/yaml.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package render 6 | 7 | import ( 8 | "net/http" 9 | 10 | "gopkg.in/yaml.v2" 11 | ) 12 | 13 | type YAML struct { 14 | Data interface{} 15 | } 16 | 17 | var yamlContentType = []string{"application/x-yaml; charset=utf-8"} 18 | 19 | func (r YAML) Render(w http.ResponseWriter) error { 20 | r.WriteContentType(w) 21 | 22 | bytes, err := yaml.Marshal(r.Data) 23 | if err != nil { 24 | return err 25 | } 26 | 27 | w.Write(bytes) 28 | return nil 29 | } 30 | 31 | func (r YAML) WriteContentType(w http.ResponseWriter) { 32 | writeContentType(w, yamlContentType) 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/test_helpers.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gin 6 | 7 | import ( 8 | "net/http" 9 | ) 10 | 11 | // CreateTestContext returns a fresh engine and context for testing purposes 12 | func CreateTestContext(w http.ResponseWriter) (c *Context, r *Engine) { 13 | r = New() 14 | c = r.allocateContext() 15 | c.reset() 16 | c.writermem.reset(w) 17 | return 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/gin-gonic/gin/wercker.yml: -------------------------------------------------------------------------------- 1 | box: wercker/default -------------------------------------------------------------------------------- /vendor/github.com/gogo/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of GoGo authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS file, which 3 | # lists people. For example, employees are listed in CONTRIBUTORS, 4 | # but not in AUTHORS, because the employer holds the copyright. 5 | 6 | # Names should be added to this file as one of 7 | # Organization's name 8 | # Individual's name 9 | # Individual's name 10 | 11 | # Please keep the list sorted. 12 | 13 | Sendgrid, Inc 14 | Vastech SA (PTY) LTD 15 | Walter Schulze 16 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/golang/protobuf/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/.gitignore: -------------------------------------------------------------------------------- 1 | cmd/snappytool/snappytool 2 | testdata/bench 3 | 4 | # These explicitly listed benchmark data files are for an obsolete version of 5 | # snappy_test.go. 6 | testdata/alice29.txt 7 | testdata/asyoulik.txt 8 | testdata/fireworks.jpeg 9 | testdata/geo.protodata 10 | testdata/html 11 | testdata/html_x_4 12 | testdata/kppkn.gtb 13 | testdata/lcet10.txt 14 | testdata/paper-100k.pdf 15 | testdata/plrabn12.txt 16 | testdata/urls.10K 17 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the official list of Snappy-Go authors for copyright purposes. 2 | # This file is distinct from the CONTRIBUTORS files. 3 | # See the latter for an explanation. 4 | 5 | # Names should be added to this file as 6 | # Name or Organization 7 | # The email address is not required for organizations. 8 | 9 | # Please keep the list sorted. 10 | 11 | Damian Gryski 12 | Google Inc. 13 | Jan Mercl <0xjnml@gmail.com> 14 | Rodolfo Carvalho 15 | Sebastien Binet 16 | -------------------------------------------------------------------------------- /vendor/github.com/golang/snappy/decode_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Snappy-Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !appengine 6 | // +build gc 7 | // +build !noasm 8 | 9 | package snappy 10 | 11 | // decode has the same semantics as in decode_other.go. 12 | // 13 | //go:noescape 14 | func decode(dst, src []byte) int 15 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/consul/api/operator.go: -------------------------------------------------------------------------------- 1 | package api 2 | 3 | // Operator can be used to perform low-level operator tasks for Consul. 4 | type Operator struct { 5 | c *Client 6 | } 7 | 8 | // Operator returns a handle to the operator endpoints. 9 | func (c *Client) Operator() *Operator { 10 | return &Operator{c} 11 | } 12 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.6 7 | 8 | branches: 9 | only: 10 | - master 11 | 12 | script: make test testrace 13 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/flatten.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | // Flatten flattens the given error, merging any *Errors together into 4 | // a single *Error. 5 | func Flatten(err error) error { 6 | // If it isn't an *Error, just return the error as-is 7 | if _, ok := err.(*Error); !ok { 8 | return err 9 | } 10 | 11 | // Otherwise, make the result and flatten away! 12 | flatErr := new(Error) 13 | flatten(err, flatErr) 14 | return flatErr 15 | } 16 | 17 | func flatten(err error, flatErr *Error) { 18 | switch err := err.(type) { 19 | case *Error: 20 | for _, e := range err.Errors { 21 | flatten(e, flatErr) 22 | } 23 | default: 24 | flatErr.Errors = append(flatErr.Errors, err) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-multierror/format.go: -------------------------------------------------------------------------------- 1 | package multierror 2 | 3 | import ( 4 | "fmt" 5 | "strings" 6 | ) 7 | 8 | // ErrorFormatFunc is a function callback that is called by Error to 9 | // turn the list of errors into a string. 10 | type ErrorFormatFunc func([]error) string 11 | 12 | // ListFormatFunc is a basic formatter that outputs the number of errors 13 | // that occurred along with a bullet point list of the errors. 14 | func ListFormatFunc(es []error) string { 15 | if len(es) == 1 { 16 | return fmt.Sprintf("1 error occurred:\n\n* %s", es[0]) 17 | } 18 | 19 | points := make([]string, len(es)) 20 | for i, err := range es { 21 | points[i] = fmt.Sprintf("* %s", err) 22 | } 23 | 24 | return fmt.Sprintf( 25 | "%d errors occurred:\n\n%s", 26 | len(es), strings.Join(points, "\n")) 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-rootcerts/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | 3 | language: go 4 | 5 | go: 6 | - 1.6 7 | 8 | branches: 9 | only: 10 | - master 11 | 12 | script: make test 13 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-rootcerts/Makefile: -------------------------------------------------------------------------------- 1 | TEST?=./... 2 | 3 | test: 4 | go test $(TEST) $(TESTARGS) -timeout=3s -parallel=4 5 | go vet $(TEST) 6 | go test $(TEST) -race 7 | 8 | .PHONY: test 9 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-rootcerts/doc.go: -------------------------------------------------------------------------------- 1 | // Package rootcerts contains functions to aid in loading CA certificates for 2 | // TLS connections. 3 | // 4 | // In addition, its default behavior on Darwin works around an open issue [1] 5 | // in Go's crypto/x509 that prevents certicates from being loaded from the 6 | // System or Login keychains. 7 | // 8 | // [1] https://github.com/golang/go/issues/14514 9 | package rootcerts 10 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/go-rootcerts/rootcerts_base.go: -------------------------------------------------------------------------------- 1 | // +build !darwin 2 | 3 | package rootcerts 4 | 5 | import "crypto/x509" 6 | 7 | // LoadSystemCAs does nothing on non-Darwin systems. We return nil so that 8 | // default behavior of standard TLS config libraries is triggered, which is to 9 | // load system certs. 10 | func LoadSystemCAs() (*x509.CertPool, error) { 11 | return nil, nil 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/golang-lru/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | -------------------------------------------------------------------------------- /vendor/github.com/hashicorp/golang-lru/README.md: -------------------------------------------------------------------------------- 1 | golang-lru 2 | ========== 3 | 4 | This provides the `lru` package which implements a fixed-size 5 | thread safe LRU cache. It is based on the cache in Groupcache. 6 | 7 | Documentation 8 | ============= 9 | 10 | Full docs are available on [Godoc](http://godoc.org/github.com/hashicorp/golang-lru) 11 | 12 | Example 13 | ======= 14 | 15 | Using the LRU is very simple: 16 | 17 | ```go 18 | l, _ := New(128) 19 | for i := 0; i < 256; i++ { 20 | l.Add(i, nil) 21 | } 22 | if l.Len() != 128 { 23 | panic(fmt.Sprintf("bad len: %v", l.Len())) 24 | } 25 | ``` 26 | -------------------------------------------------------------------------------- /vendor/github.com/influxdata/influxdb/pkg/escape/strings.go: -------------------------------------------------------------------------------- 1 | package escape 2 | 3 | import "strings" 4 | 5 | var ( 6 | escaper = strings.NewReplacer(`,`, `\,`, `"`, `\"`, ` `, `\ `, `=`, `\=`) 7 | unescaper = strings.NewReplacer(`\,`, `,`, `\"`, `"`, `\ `, ` `, `\=`, `=`) 8 | ) 9 | 10 | // UnescapeString returns unescaped version of in. 11 | func UnescapeString(in string) string { 12 | if strings.IndexByte(in, '\\') == -1 { 13 | return in 14 | } 15 | return unescaper.Replace(in) 16 | } 17 | 18 | // String returns the escaped version of in. 19 | func String(in string) string { 20 | return escaper.Replace(in) 21 | } 22 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "output_tests/.*" 3 | 4 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor 2 | /bug_test.go 3 | /coverage.txt 4 | /.idea 5 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.8.x 5 | - 1.x 6 | 7 | before_install: 8 | - go get -t -v ./... 9 | 10 | script: 11 | - ./test.sh 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/build.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | set -x 4 | 5 | if [ ! -d /tmp/build-golang/src/github.com/json-iterator ]; then 6 | mkdir -p /tmp/build-golang/src/github.com/json-iterator 7 | ln -s $PWD /tmp/build-golang/src/github.com/json-iterator/go 8 | fi 9 | export GOPATH=/tmp/build-golang 10 | go get -u github.com/golang/dep/cmd/dep 11 | cd /tmp/build-golang/src/github.com/json-iterator/go 12 | exec $GOPATH/bin/dep ensure -update 13 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/feature_json_number.go: -------------------------------------------------------------------------------- 1 | package jsoniter 2 | 3 | import ( 4 | "encoding/json" 5 | "strconv" 6 | ) 7 | 8 | type Number string 9 | 10 | // String returns the literal text of the number. 11 | func (n Number) String() string { return string(n) } 12 | 13 | // Float64 returns the number as a float64. 14 | func (n Number) Float64() (float64, error) { 15 | return strconv.ParseFloat(string(n), 64) 16 | } 17 | 18 | // Int64 returns the number as an int64. 19 | func (n Number) Int64() (int64, error) { 20 | return strconv.ParseInt(string(n), 10, 64) 21 | } 22 | 23 | func CastJsonNumber(val interface{}) (string, bool) { 24 | switch typedVal := val.(type) { 25 | case json.Number: 26 | return string(typedVal), true 27 | case Number: 28 | return string(typedVal), true 29 | } 30 | return "", false 31 | } 32 | -------------------------------------------------------------------------------- /vendor/github.com/json-iterator/go/test.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | set -e 4 | echo "" > coverage.txt 5 | 6 | for d in $(go list ./... | grep -v vendor); do 7 | go test -coverprofile=profile.out $d 8 | if [ -f profile.out ]; then 9 | cat profile.out >> coverage.txt 10 | rm profile.out 11 | fi 12 | done 13 | -------------------------------------------------------------------------------- /vendor/github.com/kavu/go_reuseport/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | .DS_Store 24 | -------------------------------------------------------------------------------- /vendor/github.com/kavu/go_reuseport/.travis.yml: -------------------------------------------------------------------------------- 1 | sudo: false 2 | group: edge 3 | 4 | language: go 5 | 6 | go: 7 | - 1.6 8 | - 1.7 9 | - 1.8 10 | - tip 11 | 12 | os: 13 | - linux 14 | - osx 15 | 16 | before_install: 17 | - uname -a 18 | 19 | script: 20 | - go test -v -cover ./... 21 | - go test -v -cover -race ./... -coverprofile=coverage.txt -covermode=atomic 22 | - go test -v -cover -race -benchmem -benchtime=5s -bench=. 23 | 24 | matrix: 25 | allow_failures: 26 | - go: tip 27 | 28 | after_success: 29 | - bash <(curl -s https://codecov.io/bash) 30 | -------------------------------------------------------------------------------- /vendor/github.com/kavu/go_reuseport/Makefile: -------------------------------------------------------------------------------- 1 | lint: 2 | @gometalinter \ 3 | --disable=errcheck \ 4 | --disable=dupl \ 5 | --min-const-length=5 \ 6 | --min-confidence=0.25 \ 7 | --cyclo-over=20 \ 8 | --enable=unused \ 9 | --deadline=100s 10 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | os: 6 | - linux 7 | - osx 8 | go: 9 | - 1.5.x 10 | - 1.6.x 11 | - 1.7.x 12 | - 1.8.x 13 | - master 14 | 15 | script: 16 | - go vet ./... 17 | - go test -v ./... 18 | - go test -race ./... 19 | - diff <(gofmt -d .) <("") 20 | 21 | matrix: 22 | allow_failures: 23 | - go: 'master' 24 | fast_finish: true 25 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/detect_intel.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build 386,!gccgo amd64,!gccgo 4 | 5 | package cpuid 6 | 7 | func asmCpuid(op uint32) (eax, ebx, ecx, edx uint32) 8 | func asmCpuidex(op, op2 uint32) (eax, ebx, ecx, edx uint32) 9 | func asmXgetbv(index uint32) (eax, edx uint32) 10 | func asmRdtscpAsm() (eax, ebx, ecx, edx uint32) 11 | 12 | func initCPU() { 13 | cpuid = asmCpuid 14 | cpuidex = asmCpuidex 15 | xgetbv = asmXgetbv 16 | rdtscpAsm = asmRdtscpAsm 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/detect_ref.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2015 Klaus Post, released under MIT License. See LICENSE file. 2 | 3 | // +build !amd64,!386 gccgo 4 | 5 | package cpuid 6 | 7 | func initCPU() { 8 | cpuid = func(op uint32) (eax, ebx, ecx, edx uint32) { 9 | return 0, 0, 0, 0 10 | } 11 | 12 | cpuidex = func(op, op2 uint32) (eax, ebx, ecx, edx uint32) { 13 | return 0, 0, 0, 0 14 | } 15 | 16 | xgetbv = func(index uint32) (eax, edx uint32) { 17 | return 0, 0 18 | } 19 | 20 | rdtscpAsm = func() (eax, ebx, ecx, edx uint32) { 21 | return 0, 0, 0, 0 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/cpuid/generate.go: -------------------------------------------------------------------------------- 1 | package cpuid 2 | 3 | //go:generate go run private-gen.go 4 | //go:generate gofmt -w ./private 5 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | 26 | .idea -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | sudo: false 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | go: 10 | - 1.5 11 | - 1.6 12 | - 1.7 13 | - 1.8 14 | - master 15 | 16 | install: 17 | - go get ./... 18 | 19 | script: 20 | - go vet ./... 21 | - go test -v -cpu=1,2,4 . 22 | - go test -v -cpu=1,2,4 -short -race . 23 | - go test -tags=noasm -v -cpu=1,2,4 -short -race . 24 | - go build examples/simple-decoder.go 25 | - go build examples/simple-encoder.go 26 | - go build examples/stream-decoder.go 27 | - go build examples/stream-encoder.go 28 | - diff <(gofmt -d .) <("") 29 | 30 | matrix: 31 | allow_failures: 32 | - go: 'master' 33 | fast_finish: true 34 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/appveyor.yml: -------------------------------------------------------------------------------- 1 | os: Visual Studio 2015 2 | 3 | platform: x64 4 | 5 | clone_folder: c:\gopath\src\github.com\klauspost\reedsolomon 6 | 7 | # environment variables 8 | environment: 9 | GOPATH: c:\gopath 10 | 11 | install: 12 | - echo %PATH% 13 | - echo %GOPATH% 14 | - go version 15 | - go env 16 | - go get -d ./... 17 | 18 | build_script: 19 | - go test -v -cpu=2 ./... 20 | - go test -cpu=1,2,4 -short -race ./... 21 | -------------------------------------------------------------------------------- /vendor/github.com/klauspost/reedsolomon/galois_noasm.go: -------------------------------------------------------------------------------- 1 | //+build !amd64 noasm appengine 2 | 3 | // Copyright 2015, Klaus Post, see LICENSE for details. 4 | 5 | package reedsolomon 6 | 7 | func galMulSlice(c byte, in, out []byte, ssse3, avx2 bool) { 8 | mt := mulTable[c] 9 | for n, input := range in { 10 | out[n] = mt[input] 11 | } 12 | } 13 | 14 | func galMulSliceXor(c byte, in, out []byte, ssse3, avx2 bool) { 15 | mt := mulTable[c] 16 | for n, input := range in { 17 | out[n] ^= mt[input] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/aes12/cipher_generic.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !amd64,!s390x 6 | 7 | package aes12 8 | 9 | // newCipher calls the newCipherGeneric function 10 | // directly. Platforms with hardware accelerated 11 | // implementations of AES should implement their 12 | // own version of newCipher (which may then call 13 | // newCipherGeneric if needed). 14 | func newCipher(key []byte) (Block, error) { 15 | return newCipherGeneric(key) 16 | } 17 | 18 | // expandKey is used by BenchmarkExpand and should 19 | // call an assembly implementation if one is available. 20 | func expandKey(key []byte, enc, dec []uint32) { 21 | expandKeyGo(key, enc, dec) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/fnv128a/README.md: -------------------------------------------------------------------------------- 1 | # fnv128a 2 | 3 | Implementation of the FNV-1a 128bit hash in go 4 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go-certificates/README.md: -------------------------------------------------------------------------------- 1 | # certsets 2 | 3 | Common certificate sets for quic-go 4 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tab 5 | indent_size = 2 6 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/.gitignore: -------------------------------------------------------------------------------- 1 | debug 2 | debug.test 3 | main 4 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/ackhandler/_gen.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | _ "github.com/clipperhouse/linkedlist" 5 | _ "github.com/clipperhouse/slice" 6 | _ "github.com/clipperhouse/stringer" 7 | ) 8 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/buffer_pool.go: -------------------------------------------------------------------------------- 1 | package quic 2 | 3 | import ( 4 | "sync" 5 | 6 | "github.com/lucas-clemente/quic-go/protocol" 7 | ) 8 | 9 | var bufferPool sync.Pool 10 | 11 | func getPacketBuffer() []byte { 12 | return bufferPool.Get().([]byte) 13 | } 14 | 15 | func putPacketBuffer(buf []byte) { 16 | if cap(buf) != int(protocol.MaxReceivePacketSize) { 17 | panic("putPacketBuffer called with packet of wrong size!") 18 | } 19 | bufferPool.Put(buf[:0]) 20 | } 21 | 22 | func init() { 23 | bufferPool.New = func() interface{} { 24 | return make([]byte, 0, protocol.MaxReceivePacketSize) 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | round: nearest 3 | ignore: 4 | - ackhandler/packet_linkedlist.go 5 | - h2quic/gzipreader.go 6 | - h2quic/response.go 7 | - internal/utils/byteinterval_linkedlist.go 8 | - internal/utils/packetinterval_linkedlist.go 9 | status: 10 | project: 11 | default: 12 | threshold: 0.5 13 | patch: false 14 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/congestion/bandwidth.go: -------------------------------------------------------------------------------- 1 | package congestion 2 | 3 | import ( 4 | "time" 5 | 6 | "github.com/lucas-clemente/quic-go/protocol" 7 | ) 8 | 9 | // Bandwidth of a connection 10 | type Bandwidth uint64 11 | 12 | const ( 13 | // BitsPerSecond is 1 bit per second 14 | BitsPerSecond Bandwidth = 1 15 | // BytesPerSecond is 1 byte per second 16 | BytesPerSecond = 8 * BitsPerSecond 17 | ) 18 | 19 | // BandwidthFromDelta calculates the bandwidth from a number of bytes and a time delta 20 | func BandwidthFromDelta(bytes protocol.ByteCount, delta time.Duration) Bandwidth { 21 | return Bandwidth(bytes) * Bandwidth(time.Second) / Bandwidth(delta) * BytesPerSecond 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/congestion/clock.go: -------------------------------------------------------------------------------- 1 | package congestion 2 | 3 | import "time" 4 | 5 | // A Clock returns the current time 6 | type Clock interface { 7 | Now() time.Time 8 | } 9 | 10 | // DefaultClock implements the Clock interface using the Go stdlib clock. 11 | type DefaultClock struct{} 12 | 13 | var _ Clock = DefaultClock{} 14 | 15 | // Now gets the current time 16 | func (DefaultClock) Now() time.Time { 17 | return time.Now() 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/congestion/stats.go: -------------------------------------------------------------------------------- 1 | package congestion 2 | 3 | import "github.com/lucas-clemente/quic-go/protocol" 4 | 5 | type connectionStats struct { 6 | slowstartPacketsLost protocol.PacketNumber 7 | slowstartBytesLost protocol.ByteCount 8 | } 9 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/crypto/AEAD.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import "github.com/lucas-clemente/quic-go/protocol" 4 | 5 | // An AEAD implements QUIC's authenticated encryption and associated data 6 | type AEAD interface { 7 | Open(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) ([]byte, error) 8 | Seal(dst, src []byte, packetNumber protocol.PacketNumber, associatedData []byte) []byte 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/crypto/cert_sets.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import ( 4 | "bytes" 5 | 6 | "github.com/lucas-clemente/quic-go-certificates" 7 | ) 8 | 9 | type certSet [][]byte 10 | 11 | var certSets = map[uint64]certSet{ 12 | certsets.CertSet2Hash: certsets.CertSet2, 13 | certsets.CertSet3Hash: certsets.CertSet3, 14 | } 15 | 16 | // findCertInSet searches for the cert in the set. Negative return value means not found. 17 | func (s *certSet) findCertInSet(cert []byte) int { 18 | for i, c := range *s { 19 | if bytes.Equal(c, cert) { 20 | return i 21 | } 22 | } 23 | return -1 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/crypto/key_exchange.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | // KeyExchange manages the exchange of keys 4 | type KeyExchange interface { 5 | PublicKey() []byte 6 | CalculateSharedKey(otherPublic []byte) ([]byte, error) 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/crypto/nonce.go: -------------------------------------------------------------------------------- 1 | package crypto 2 | 3 | import ( 4 | "encoding/binary" 5 | 6 | "github.com/lucas-clemente/quic-go/protocol" 7 | ) 8 | 9 | func makeNonce(iv []byte, packetNumber protocol.PacketNumber) []byte { 10 | res := make([]byte, 12) 11 | copy(res[0:4], iv) 12 | binary.LittleEndian.PutUint64(res[4:12], uint64(packetNumber)) 13 | return res 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/frames/ack_range.go: -------------------------------------------------------------------------------- 1 | package frames 2 | 3 | import "github.com/lucas-clemente/quic-go/protocol" 4 | 5 | // AckRange is an ACK range 6 | type AckRange struct { 7 | FirstPacketNumber protocol.PacketNumber 8 | LastPacketNumber protocol.PacketNumber 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/frames/frame.go: -------------------------------------------------------------------------------- 1 | package frames 2 | 3 | import ( 4 | "bytes" 5 | 6 | "github.com/lucas-clemente/quic-go/protocol" 7 | ) 8 | 9 | // A Frame in QUIC 10 | type Frame interface { 11 | Write(b *bytes.Buffer, version protocol.VersionNumber) error 12 | MinLength(version protocol.VersionNumber) (protocol.ByteCount, error) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/frames/ping_frame.go: -------------------------------------------------------------------------------- 1 | package frames 2 | 3 | import ( 4 | "bytes" 5 | 6 | "github.com/lucas-clemente/quic-go/protocol" 7 | ) 8 | 9 | // A PingFrame is a ping frame 10 | type PingFrame struct{} 11 | 12 | // ParsePingFrame parses a Ping frame 13 | func ParsePingFrame(r *bytes.Reader) (*PingFrame, error) { 14 | frame := &PingFrame{} 15 | 16 | _, err := r.ReadByte() 17 | if err != nil { 18 | return nil, err 19 | } 20 | 21 | return frame, nil 22 | } 23 | 24 | func (f *PingFrame) Write(b *bytes.Buffer, version protocol.VersionNumber) error { 25 | typeByte := uint8(0x07) 26 | b.WriteByte(typeByte) 27 | return nil 28 | } 29 | 30 | // MinLength of a written frame 31 | func (f *PingFrame) MinLength(version protocol.VersionNumber) (protocol.ByteCount, error) { 32 | return 1, nil 33 | } 34 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/internal/utils/_gen.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | _ "github.com/clipperhouse/linkedlist" 5 | _ "github.com/clipperhouse/slice" 6 | _ "github.com/clipperhouse/stringer" 7 | ) 8 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/internal/utils/atomic_bool.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import "sync/atomic" 4 | 5 | // An AtomicBool is an atomic bool 6 | type AtomicBool struct { 7 | v int32 8 | } 9 | 10 | // Set sets the value 11 | func (a *AtomicBool) Set(value bool) { 12 | var n int32 13 | if value { 14 | n = 1 15 | } 16 | atomic.StoreInt32(&a.v, n) 17 | } 18 | 19 | // Get gets the value 20 | func (a *AtomicBool) Get() bool { 21 | return atomic.LoadInt32(&a.v) != 0 22 | } 23 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/internal/utils/connection_id.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "crypto/rand" 5 | "encoding/binary" 6 | 7 | "github.com/lucas-clemente/quic-go/protocol" 8 | ) 9 | 10 | // GenerateConnectionID generates a connection ID using cryptographic random 11 | func GenerateConnectionID() (protocol.ConnectionID, error) { 12 | b := make([]byte, 8) 13 | _, err := rand.Read(b) 14 | if err != nil { 15 | return 0, err 16 | } 17 | return protocol.ConnectionID(binary.LittleEndian.Uint64(b)), nil 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/internal/utils/host.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import ( 4 | "net/url" 5 | "strings" 6 | ) 7 | 8 | // HostnameFromAddr determines the hostname in an address string 9 | func HostnameFromAddr(addr string) (string, error) { 10 | p, err := url.Parse(addr) 11 | if err != nil { 12 | return "", err 13 | } 14 | h := p.Host 15 | 16 | // copied from https://golang.org/src/net/http/transport.go 17 | if hasPort(h) { 18 | h = h[:strings.LastIndex(h, ":")] 19 | } 20 | 21 | return h, nil 22 | } 23 | 24 | // copied from https://golang.org/src/net/http/http.go 25 | func hasPort(s string) bool { 26 | return strings.LastIndex(s, ":") > strings.LastIndex(s, "]") 27 | } 28 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/internal/utils/packet_interval.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import "github.com/lucas-clemente/quic-go/protocol" 4 | 5 | // PacketInterval is an interval from one PacketNumber to the other 6 | // +gen linkedlist 7 | type PacketInterval struct { 8 | Start protocol.PacketNumber 9 | End protocol.PacketNumber 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/internal/utils/streamframe_interval.go: -------------------------------------------------------------------------------- 1 | package utils 2 | 3 | import "github.com/lucas-clemente/quic-go/protocol" 4 | 5 | // ByteInterval is an interval from one ByteCount to the other 6 | // +gen linkedlist 7 | type ByteInterval struct { 8 | Start protocol.ByteCount 9 | End protocol.ByteCount 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/lucas-clemente/quic-go/protocol/perspective.go: -------------------------------------------------------------------------------- 1 | package protocol 2 | 3 | // Perspective determines if we're acting as a server or a client 4 | type Perspective int 5 | 6 | // the perspectives 7 | const ( 8 | PerspectiveServer Perspective = 1 9 | PerspectiveClient Perspective = 2 10 | ) 11 | -------------------------------------------------------------------------------- /vendor/github.com/manucorporat/sse/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.3 5 | - 1.4 6 | - tip 7 | -------------------------------------------------------------------------------- /vendor/github.com/manucorporat/sse/writer.go: -------------------------------------------------------------------------------- 1 | package sse 2 | 3 | import "io" 4 | 5 | type stringWriter interface { 6 | io.Writer 7 | WriteString(string) (int, error) 8 | } 9 | 10 | type stringWrapper struct { 11 | io.Writer 12 | } 13 | 14 | func (w stringWrapper) WriteString(str string) (int, error) { 15 | return w.Writer.Write([]byte(str)) 16 | } 17 | 18 | func checkWriter(writer io.Writer) stringWriter { 19 | if w, ok := writer.(stringWriter); ok { 20 | return w 21 | } else { 22 | return stringWrapper{writer} 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /vendor/github.com/marten-seemann/quic-conn/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | round: nearest 3 | status: 4 | project: 5 | default: 6 | threshold: 0.5 7 | patch: false 8 | -------------------------------------------------------------------------------- /vendor/github.com/marten-seemann/quic-conn/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "marten-seemann", 3 | "bugs": { 4 | "url": "github.com/marten-seemann/quic-conn" 5 | }, 6 | "gx": { 7 | "dvcsimport": "github.com/marten-seemann/quic-conn" 8 | }, 9 | "gxVersion": "0.11.0", 10 | "language": "go", 11 | "license": "", 12 | "name": "quic-conn", 13 | "releaseCmd": "git commit -a -m \"gx publish $VERSION\"", 14 | "version": "0.1.0" 15 | } 16 | 17 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | 5 | before_install: 6 | - go get github.com/mattn/goveralls 7 | - go get golang.org/x/tools/cmd/cover 8 | script: 9 | - $HOME/gopath/bin/goveralls -repotoken xnXqRGwgW3SXIguzxf90ZSK1GPYZPaGrw 10 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package colorable 4 | 5 | import ( 6 | "io" 7 | "os" 8 | 9 | _ "github.com/mattn/go-isatty" 10 | ) 11 | 12 | // NewColorable return new instance of Writer which handle escape sequence. 13 | func NewColorable(file *os.File) io.Writer { 14 | if file == nil { 15 | panic("nil passed instead of *os.File to NewColorable()") 16 | } 17 | 18 | return file 19 | } 20 | 21 | // NewColorableStdout return new instance of Writer which handle escape sequence for stdout. 22 | func NewColorableStdout() io.Writer { 23 | return os.Stdout 24 | } 25 | 26 | // NewColorableStderr return new instance of Writer which handle escape sequence for stderr. 27 | func NewColorableStderr() io.Writer { 28 | return os.Stderr 29 | } 30 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-colorable/colorable_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !appengine 3 | 4 | package colorable 5 | 6 | import ( 7 | "io" 8 | "os" 9 | 10 | _ "github.com/mattn/go-isatty" 11 | ) 12 | 13 | // NewColorable return new instance of Writer which handle escape sequence. 14 | func NewColorable(file *os.File) io.Writer { 15 | if file == nil { 16 | panic("nil passed instead of *os.File to NewColorable()") 17 | } 18 | 19 | return file 20 | } 21 | 22 | // NewColorableStdout return new instance of Writer which handle escape sequence for stdout. 23 | func NewColorableStdout() io.Writer { 24 | return os.Stdout 25 | } 26 | 27 | // NewColorableStderr return new instance of Writer which handle escape sequence for stderr. 28 | func NewColorableStderr() io.Writer { 29 | return os.Stderr 30 | } 31 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - tip 4 | 5 | os: 6 | - linux 7 | - osx 8 | 9 | before_install: 10 | - go get github.com/mattn/goveralls 11 | - go get golang.org/x/tools/cmd/cover 12 | script: 13 | - $HOME/gopath/bin/goveralls -repotoken 3gHdORO5k5ziZcWMBxnd9LrMZaJs8m9x5 14 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/doc.go: -------------------------------------------------------------------------------- 1 | // Package isatty implements interface to isatty 2 | package isatty 3 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_appengine.go: -------------------------------------------------------------------------------- 1 | // +build appengine 2 | 3 | package isatty 4 | 5 | // IsTerminal returns true if the file descriptor is terminal which 6 | // is always false on on appengine classic which is a sandboxed PaaS. 7 | func IsTerminal(fd uintptr) bool { 8 | return false 9 | } 10 | 11 | // IsCygwinTerminal() return true if the file descriptor is a cygwin or msys2 12 | // terminal. This is also always false on this environment. 13 | func IsCygwinTerminal(fd uintptr) bool { 14 | return false 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_bsd.go: -------------------------------------------------------------------------------- 1 | // +build darwin freebsd openbsd netbsd dragonfly 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TIOCGETA 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_linux.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | // +build !appengine,!ppc64,!ppc64le 3 | 4 | package isatty 5 | 6 | import ( 7 | "syscall" 8 | "unsafe" 9 | ) 10 | 11 | const ioctlReadTermios = syscall.TCGETS 12 | 13 | // IsTerminal return true if the file descriptor is terminal. 14 | func IsTerminal(fd uintptr) bool { 15 | var termios syscall.Termios 16 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 17 | return err == 0 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go: -------------------------------------------------------------------------------- 1 | // +build linux 2 | // +build ppc64 ppc64le 3 | 4 | package isatty 5 | 6 | import ( 7 | "unsafe" 8 | 9 | syscall "golang.org/x/sys/unix" 10 | ) 11 | 12 | const ioctlReadTermios = syscall.TCGETS 13 | 14 | // IsTerminal return true if the file descriptor is terminal. 15 | func IsTerminal(fd uintptr) bool { 16 | var termios syscall.Termios 17 | _, _, err := syscall.Syscall6(syscall.SYS_IOCTL, fd, ioctlReadTermios, uintptr(unsafe.Pointer(&termios)), 0, 0, 0) 18 | return err == 0 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_others.go: -------------------------------------------------------------------------------- 1 | // +build !windows 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | // IsCygwinTerminal return true if the file descriptor is a cygwin or msys2 7 | // terminal. This is also always false on this environment. 8 | func IsCygwinTerminal(fd uintptr) bool { 9 | return false 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-isatty/isatty_solaris.go: -------------------------------------------------------------------------------- 1 | // +build solaris 2 | // +build !appengine 3 | 4 | package isatty 5 | 6 | import ( 7 | "golang.org/x/sys/unix" 8 | ) 9 | 10 | // IsTerminal returns true if the given file descriptor is a terminal. 11 | // see: http://src.illumos.org/source/xref/illumos-gate/usr/src/lib/libbc/libc/gen/common/isatty.c 12 | func IsTerminal(fd uintptr) bool { 13 | var termio unix.Termio 14 | err := unix.IoctlSetTermio(int(fd), unix.TCGETA, &termio) 15 | return err == nil 16 | } 17 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/.gitignore: -------------------------------------------------------------------------------- 1 | *.db 2 | *.exe 3 | *.dll 4 | *.o 5 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: required 3 | dist: trusty 4 | env: 5 | - GOTAGS= 6 | - GOTAGS=libsqlite3 7 | - GOTAGS=trace 8 | - GOTAGS=vtable 9 | go: 10 | - 1.7 11 | - 1.8 12 | - tip 13 | before_install: 14 | - go get github.com/mattn/goveralls 15 | - go get golang.org/x/tools/cmd/cover 16 | script: 17 | - $HOME/gopath/bin/goveralls -repotoken 3qJVUE0iQwqnCbmNcDsjYu1nh4J4KIFXx 18 | - go test -race -v . -tags "$GOTAGS" 19 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_fts5.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build fts5 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -DSQLITE_ENABLE_FTS5 11 | #cgo LDFLAGS: -lm 12 | */ 13 | import "C" 14 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_icu.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build icu 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo LDFLAGS: -licuuc -licui18n 11 | #cgo CFLAGS: -DSQLITE_ENABLE_ICU 12 | */ 13 | import "C" 14 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_json1.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build json1 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -DSQLITE_ENABLE_JSON1 11 | */ 12 | import "C" 13 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build libsqlite3 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -DUSE_LIBSQLITE3 11 | #cgo linux LDFLAGS: -lsqlite3 12 | #cgo darwin LDFLAGS: -L/usr/local/opt/sqlite/lib -lsqlite3 13 | */ 14 | import "C" 15 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_omit_load_extension.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build sqlite_omit_load_extension 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -DSQLITE_OMIT_LOAD_EXTENSION 11 | */ 12 | import "C" 13 | import ( 14 | "errors" 15 | ) 16 | 17 | func (c *SQLiteConn) loadExtensions(extensions []string) error { 18 | return errors.New("Extensions have been disabled for static builds") 19 | } 20 | 21 | func (c *SQLiteConn) LoadExtension(lib string, entry string) error { 22 | return errors.New("Extensions have been disabled for static builds") 23 | } 24 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_other.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build !windows 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -I. 11 | #cgo linux LDFLAGS: -ldl 12 | */ 13 | import "C" 14 | -------------------------------------------------------------------------------- /vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright (C) 2014 Yasuhiro Matsumoto . 2 | // 3 | // Use of this source code is governed by an MIT-style 4 | // license that can be found in the LICENSE file. 5 | // +build windows 6 | 7 | package sqlite3 8 | 9 | /* 10 | #cgo CFLAGS: -I. -fno-stack-check -fno-stack-protector -mno-stack-arg-probe 11 | #cgo windows,386 CFLAGS: -D_USE_32BIT_TIME_T 12 | #cgo LDFLAGS: -lmingwex -lmingw32 13 | */ 14 | import "C" 15 | -------------------------------------------------------------------------------- /vendor/github.com/micro/go-bson/README.md: -------------------------------------------------------------------------------- 1 | # BSON [![GoDoc](https://godoc.org/github.com/micro/go-bson?status.svg)](https://godoc.org/github.com/micro/go-bson) 2 | 3 | Fork of github.com/youtube/vitess/go/bson. BSON was removed from vitess so we're just holding on to a copy. 4 | 5 | This is used by [go-plugins/bsonrpc](https://godoc.org/github.com/micro/go-plugins/codec/bsonrpc). 6 | -------------------------------------------------------------------------------- /vendor/github.com/mitchellh/go-homedir/README.md: -------------------------------------------------------------------------------- 1 | # go-homedir 2 | 3 | This is a Go library for detecting the user's home directory without 4 | the use of cgo, so the library can be used in cross-compilation environments. 5 | 6 | Usage is incredibly simple, just call `homedir.Dir()` to get the home directory 7 | for a user, and `homedir.Expand()` to expand the `~` in a path to the home 8 | directory. 9 | 10 | **Why not just use `os/user`?** The built-in `os/user` package requires 11 | cgo on Darwin systems. This means that any Go code that uses that package 12 | cannot cross compile. But 99% of the time the use for `os/user` is just to 13 | retrieve the home directory, which we can do for the current user without 14 | cgo. This library does that, enabling cross-compilation. 15 | -------------------------------------------------------------------------------- /vendor/github.com/pierrec/lz4/.gitignore: -------------------------------------------------------------------------------- 1 | # Created by https://www.gitignore.io/api/macos 2 | 3 | ### macOS ### 4 | *.DS_Store 5 | .AppleDouble 6 | .LSOverride 7 | 8 | # Icon must end with two \r 9 | Icon 10 | 11 | 12 | # Thumbnails 13 | ._* 14 | 15 | # Files that might appear in the root of a volume 16 | .DocumentRevisions-V100 17 | .fseventsd 18 | .Spotlight-V100 19 | .TemporaryItems 20 | .Trashes 21 | .VolumeIcon.icns 22 | .com.apple.timemachine.donotpresent 23 | 24 | # Directories potentially created on remote AFP share 25 | .AppleDB 26 | .AppleDesktop 27 | Network Trash Folder 28 | Temporary Items 29 | .apdisk 30 | 31 | # End of https://www.gitignore.io/api/macos 32 | -------------------------------------------------------------------------------- /vendor/github.com/pierrec/lz4/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.x 5 | 6 | script: 7 | - go test -v -cpu=2 8 | - go test -v -cpu=2 -race -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go_import_path: github.com/pkg/errors 3 | go: 4 | - 1.4.x 5 | - 1.5.x 6 | - 1.6.x 7 | - 1.7.x 8 | - 1.8.x 9 | - tip 10 | 11 | script: 12 | - go test -v ./... 13 | -------------------------------------------------------------------------------- /vendor/github.com/pkg/errors/appveyor.yml: -------------------------------------------------------------------------------- 1 | version: build-{build}.{branch} 2 | 3 | clone_folder: C:\gopath\src\github.com\pkg\errors 4 | shallow_clone: true # for startup speed 5 | 6 | environment: 7 | GOPATH: C:\gopath 8 | 9 | platform: 10 | - x64 11 | 12 | # http://www.appveyor.com/docs/installed-software 13 | install: 14 | # some helpful output for debugging builds 15 | - go version 16 | - go env 17 | # pre-installed MinGW at C:\MinGW is 32bit only 18 | # but MSYS2 at C:\msys64 has mingw64 19 | - set PATH=C:\msys64\mingw64\bin;%PATH% 20 | - gcc --version 21 | - g++ --version 22 | 23 | build_script: 24 | - go install -v ./... 25 | 26 | test_script: 27 | - set PATH=C:\gopath\bin;%PATH% 28 | - go test -v ./... 29 | 30 | #artifacts: 31 | # - path: '%GOPATH%\bin\*.exe' 32 | deploy: off 33 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/.gitignore: -------------------------------------------------------------------------------- 1 | *.[68] 2 | *.a 3 | *.out 4 | *.swp 5 | _obj 6 | _testmain.go 7 | cmd/metrics-bench/metrics-bench 8 | cmd/metrics-example/metrics-example 9 | cmd/never-read/never-read 10 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.2 5 | - 1.3 6 | - 1.4 7 | - 1.5 8 | 9 | script: 10 | - ./validate.sh 11 | 12 | # this should give us faster builds according to 13 | # http://docs.travis-ci.com/user/migrating-from-legacy/ 14 | sudo: false 15 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/metrics.go: -------------------------------------------------------------------------------- 1 | // Go port of Coda Hale's Metrics library 2 | // 3 | // 4 | // 5 | // Coda Hale's original work: 6 | package metrics 7 | 8 | // UseNilMetrics is checked by the constructor functions for all of the 9 | // standard metrics. If it is true, the metric returned is a stub. 10 | // 11 | // This global kill-switch helps quantify the observer effect and makes 12 | // for less cluttered pprof profiles. 13 | var UseNilMetrics bool = false 14 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/runtime_cgo.go: -------------------------------------------------------------------------------- 1 | // +build cgo 2 | // +build !appengine 3 | 4 | package metrics 5 | 6 | import "runtime" 7 | 8 | func numCgoCall() int64 { 9 | return runtime.NumCgoCall() 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/runtime_gccpufraction.go: -------------------------------------------------------------------------------- 1 | // +build go1.5 2 | 3 | package metrics 4 | 5 | import "runtime" 6 | 7 | func gcCPUFraction(memStats *runtime.MemStats) float64 { 8 | return memStats.GCCPUFraction 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/runtime_no_cgo.go: -------------------------------------------------------------------------------- 1 | // +build !cgo appengine 2 | 3 | package metrics 4 | 5 | func numCgoCall() int64 { 6 | return 0 7 | } 8 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/runtime_no_gccpufraction.go: -------------------------------------------------------------------------------- 1 | // +build !go1.5 2 | 3 | package metrics 4 | 5 | import "runtime" 6 | 7 | func gcCPUFraction(memStats *runtime.MemStats) float64 { 8 | return 0 9 | } 10 | -------------------------------------------------------------------------------- /vendor/github.com/rcrowley/go-metrics/validate.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | set -e 4 | 5 | # check there are no formatting issues 6 | GOFMT_LINES=`gofmt -l . | wc -l | xargs` 7 | test $GOFMT_LINES -eq 0 || echo "gofmt needs to be run, ${GOFMT_LINES} files have issues" 8 | 9 | # run the tests for the root package 10 | go test . 11 | -------------------------------------------------------------------------------- /vendor/github.com/reactivex/rxgo/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | 26 | # Backup files 27 | *~ 28 | *# 29 | 30 | # Dep directories 31 | bower_components 32 | node_modules 33 | -------------------------------------------------------------------------------- /vendor/github.com/reactivex/rxgo/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.6 5 | - tip 6 | 7 | go_import_path: github.com/reactivex/rxgo 8 | 9 | install: 10 | - go get github.com/mattn/goveralls 11 | - go get github.com/stretchr/testify/assert 12 | - go get github.com/gorilla/websocket 13 | 14 | script: goveralls -service travis-ci -repotoken $COVERALLS_TOKEN -------------------------------------------------------------------------------- /vendor/github.com/reactivex/rxgo/errors/errorcode_string.go: -------------------------------------------------------------------------------- 1 | // Code generated by "stringer -type ErrorCode"; DO NOT EDIT 2 | 3 | package errors 4 | 5 | import "fmt" 6 | 7 | const _ErrorCode_name = "EndOfIteratorErrorHandlerErrorObservableErrorObserverErrorIterableErrorUndefinedError" 8 | 9 | var _ErrorCode_index = [...]uint8{0, 18, 30, 45, 58, 71, 85} 10 | 11 | func (i ErrorCode) String() string { 12 | i -= 1 13 | if i >= ErrorCode(len(_ErrorCode_index)-1) { 14 | return fmt.Sprintf("ErrorCode(%d)", i+1) 15 | } 16 | return _ErrorCode_name[_ErrorCode_index[i]:_ErrorCode_index[i+1]] 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/reactivex/rxgo/eventhandler.go: -------------------------------------------------------------------------------- 1 | package rx 2 | 3 | // EventHandler type is implemented by all handlers and Observer. 4 | type EventHandler interface { 5 | Handle(interface{}) 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/reactivex/rxgo/iterator.go: -------------------------------------------------------------------------------- 1 | package rx 2 | 3 | // Iterator type is implemented by Iterable. 4 | type Iterator interface { 5 | Next() (interface{}, error) 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/codec2/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016 Markus Sonderegger 2 | 3 | Permission to use, copy, modify, and distribute this software for any 4 | purpose with or without fee is hereby granted, provided that the above 5 | copyright notice and this permission notice appear in all copies. 6 | 7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 8 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 9 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 10 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 11 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 12 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 13 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 14 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/codec2/wirepb/wire.proto: -------------------------------------------------------------------------------- 1 | syntax = "proto3"; 2 | package wirepb; 3 | 4 | message RequestHeader { 5 | string method = 1; 6 | uint64 seq = 2; 7 | string header = 3; 8 | } 9 | 10 | message ResponseHeader { 11 | string method = 1; 12 | uint64 seq = 2; 13 | string error = 3; 14 | string header = 4; 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/colfer/LICENSE: -------------------------------------------------------------------------------- 1 | To the extent possible under law, Pascal S. de Kloe has waived all 2 | copyright and related or neighboring rights to Colfer. This work is 3 | published from The Netherlands. 4 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/colfer/rpc/Makefile: -------------------------------------------------------------------------------- 1 | .PHONY: bench clean test 2 | 3 | COLF?=../colf 4 | 5 | test: internal 6 | go vet 7 | go fmt 8 | 9 | $(COLF) -b build go ../testdata/test.colf 10 | 11 | go test -v 12 | 13 | testcover: 14 | go test -v -coverprofile testcover 15 | 16 | bench: test 17 | go test -bench . 18 | 19 | clean: 20 | rm -fr internal testcover 21 | 22 | internal: 23 | $(COLF) go 24 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/colfer/rpc/internal.colf: -------------------------------------------------------------------------------- 1 | package internal 2 | 3 | // Header is a prefix for requests and responses. 4 | type header struct { 5 | seqID uint64 6 | method text 7 | header text 8 | error text 9 | bodySize uint32 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/net-rpc-gencode2/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/net-rpc-gencode2/arith.schema: -------------------------------------------------------------------------------- 1 | struct Args { 2 | A int32 3 | B int32 4 | } 5 | 6 | struct Reply { 7 | C int32 8 | } -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/net-rpc-gencode2/rpc.schema: -------------------------------------------------------------------------------- 1 | struct RequestHeader { 2 | ServiceMethod string 3 | Header string 4 | Seq uint64 5 | } 6 | 7 | struct ResponseHeader { 8 | ServiceMethod string 9 | Header string 10 | Seq uint64 11 | Error string 12 | } -------------------------------------------------------------------------------- /vendor/github.com/rpcx-ecosystem/net-rpc-msgpackrpc2/README.md: -------------------------------------------------------------------------------- 1 | # net-rpc-msgpackrpc 2 | 3 | This library provides the same functions as `net/rpc/jsonrpc` but for 4 | communicating with [MessagePack](http://msgpack.org/) instead. The library 5 | is modeled directly after the Go standard library so it should be easy to 6 | use and obvious. 7 | 8 | See the [GoDoc](http://godoc.org/github.com/hashicorp/net-rpc-msgpackrpc) for 9 | API documentation. 10 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/.checkignore: -------------------------------------------------------------------------------- 1 | github.com/smallnest/rpcx/clientselector/zookeeper_selector.go:SA5007 -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | 26 | vendor 27 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | 4 | go: 5 | - 1.7.x 6 | - 1.8.x 7 | 8 | before_script: 9 | - go get -t -v github.com/smallnest/rpcx/... 10 | 11 | script: 12 | - go test -v ./... 13 | 14 | notifications: 15 | email: 16 | recipients: smallnest@gmail.com 17 | on_success: change 18 | on_failure: always -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/CHANGELOG: -------------------------------------------------------------------------------- 1 | 2 | ## v2.0 3 | - replace underlying rpc transport. 替换底层的rpc库,原先使用官方的rpc库,现在在官方的库上做了修改,以便支持context和header 4 | - support opentracing. 支持opentracing协议的tracing系统,比如ZipKin等 5 | - support Prometheus. 支持 Prometheus, 当前比较火的监控系统和时间序列库 6 | - support Header. 客户端可以设置Header,服务器端可以获取这个header 7 | - support context. 客户端可以设置context,通过context可以取消调用。服务器端方法定义的第一个参数可以是context,通过它能获取客户端传递的header信息和客户端的net.Conn -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2017 Chao yuepan 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. 14 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/clientselector/util.go: -------------------------------------------------------------------------------- 1 | package clientselector 2 | 3 | import ( 4 | "net/rpc" 5 | "sync" 6 | ) 7 | 8 | // CMap is a goutine-safe/thread-safe map 9 | type CMap struct { 10 | data map[string]*rpc.Client 11 | sync.RWMutex 12 | } 13 | 14 | func NewCMap() *CMap { 15 | return &CMap{data: make(map[string]*rpc.Client)} 16 | } 17 | 18 | func (s *CMap) Set(key string, value *rpc.Client) { 19 | s.Lock() 20 | s.data[key] = value 21 | s.Unlock() 22 | } 23 | func (s *CMap) Get(key string) *rpc.Client { 24 | s.RLock() 25 | defer s.RUnlock() 26 | return s.data[key] 27 | } 28 | func (s *CMap) Remove(key string) { 29 | s.RLock() 30 | defer s.RUnlock() 31 | delete(s.data, key) 32 | } 33 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/arith.schema: -------------------------------------------------------------------------------- 1 | struct GencodeArgs { 2 | A int32 3 | B int32 4 | } 5 | 6 | struct GencodeReply { 7 | C int32 8 | } -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/colfer_codec.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | import ( 4 | "io" 5 | 6 | colfer "github.com/rpcx-ecosystem/colfer/rpc" 7 | "github.com/smallnest/rpcx/core" 8 | ) 9 | 10 | // NewColferClientCodec returns a new Colfer implementation for the core library's core. 11 | func NewColferClientCodec(conn io.ReadWriteCloser) core.ClientCodec { 12 | return colfer.NewClientCodec(conn) 13 | } 14 | 15 | // NewColferServerCodec returns a new Colfer implementation for the core library's core. 16 | func NewColferServerCodec(conn io.ReadWriteCloser) core.ServerCodec { 17 | return colfer.NewServerCodec(conn) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/colfer_codec_test.colf: -------------------------------------------------------------------------------- 1 | package testdata 2 | 3 | type ColfArgs struct { 4 | a int32 5 | b int32 6 | } 7 | 8 | type ColfReply struct { 9 | c int32 10 | } 11 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/gencodec.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | import ( 4 | "io" 5 | 6 | gencodec "github.com/rpcx-ecosystem/net-rpc-gencode2" 7 | "github.com/smallnest/rpcx/core" 8 | ) 9 | 10 | // NewGencodeServerCodec creates a gencode ServerCodec 11 | func NewGencodeServerCodec(conn io.ReadWriteCloser) core.ServerCodec { 12 | return gencodec.NewGencodeServerCodec(conn) 13 | } 14 | 15 | // NewGencodeClientCodec creates a gencode ClientCodec 16 | func NewGencodeClientCodec(conn io.ReadWriteCloser) core.ClientCodec { 17 | return gencodec.NewGencodeClientCodec(conn) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/jsonrpc-codec.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | import ( 4 | "io" 5 | 6 | "github.com/rpcx-ecosystem/jsonrpc" 7 | "github.com/smallnest/rpcx/core" 8 | ) 9 | 10 | // NewJSONRPCServerCodec creates a RPC-JSON 2.0 ServerCodec 11 | func NewJSONRPCServerCodec(conn io.ReadWriteCloser) core.ServerCodec { 12 | return jsonrpc.NewServerCodec(conn) 13 | } 14 | 15 | // NewJSONRPCClientCodec creates a RPC-JSON 2.0 ClientCodec 16 | func NewJSONRPCClientCodec(conn io.ReadWriteCloser) core.ClientCodec { 17 | return jsonrpc.NewClientCodec(conn) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/jsonrpc2-codec.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | import ( 4 | "io" 5 | 6 | "github.com/rpcx-ecosystem/rpc-codec2/jsonrpc2" 7 | "github.com/smallnest/rpcx/core" 8 | ) 9 | 10 | // NewJSONRPC2ServerCodec creates a RPC-JSON 2.0 ServerCodec 11 | func NewJSONRPC2ServerCodec(conn io.ReadWriteCloser) core.ServerCodec { 12 | return jsonrpc2.NewServerCodec(conn, nil) 13 | } 14 | 15 | // NewJSONRPC2ClientCodec creates a RPC-JSON 2.0 ClientCodec 16 | func NewJSONRPC2ClientCodec(conn io.ReadWriteCloser) core.ClientCodec { 17 | return jsonrpc2.NewClientCodec(conn) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/protobuf_codec.go: -------------------------------------------------------------------------------- 1 | package codec 2 | 3 | import ( 4 | "io" 5 | 6 | codec "github.com/rpcx-ecosystem/codec2" 7 | "github.com/smallnest/rpcx/core" 8 | ) 9 | 10 | // NewProtobufServerCodec creates a protobuf ServerCodec by https://github.com/mars9/codec 11 | func NewProtobufServerCodec(conn io.ReadWriteCloser) core.ServerCodec { 12 | return codec.NewServerCodec(conn) 13 | } 14 | 15 | // NewProtobufClientCodec creates a protobuf ClientCodec by https://github.com/mars9/codec 16 | func NewProtobufClientCodec(conn io.ReadWriteCloser) core.ClientCodec { 17 | return codec.NewClientCodec(conn) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/codec/protobuf_service.proto: -------------------------------------------------------------------------------- 1 | // protoc --gogofaster_out=. protobuf_service.proto 2 | // mv protobuf_service.pb.go protobuf_service_test.go 3 | package codec; 4 | 5 | 6 | message ProtoArgs { 7 | required int32 A = 1; 8 | required int32 B = 2; 9 | } 10 | 11 | message ProtoReply { 12 | required int32 C = 1; 13 | } 14 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/plugin.go: -------------------------------------------------------------------------------- 1 | package rpcx 2 | 3 | //IPlugin represents a plugin. 4 | type IPlugin interface { 5 | Name() string 6 | } 7 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/plugin/logregister.go: -------------------------------------------------------------------------------- 1 | package plugin 2 | 3 | import "fmt" 4 | 5 | //LogRegisterPlugin is a register plugin which can log registered services in logs 6 | type LogRegisterPlugin struct { 7 | Log func(log string) 8 | } 9 | 10 | // Register handles registering event. 11 | func (plugin *LogRegisterPlugin) Register(name string, rcvr interface{}, metadata ...string) error { 12 | plugin.Log(fmt.Sprintf("Registered Service %s with %v", name, rcvr)) 13 | return nil 14 | } 15 | 16 | // Name return name of this plugin. 17 | func (plugin *LogRegisterPlugin) Name() string { 18 | return "LogRegisterPlugin" 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/smallnest/rpcx/plugin/metrics_unix.go: -------------------------------------------------------------------------------- 1 | // +build !windows,!nacl,!plan9 2 | 3 | package plugin 4 | 5 | import ( 6 | "log/syslog" 7 | "time" 8 | 9 | "github.com/rcrowley/go-metrics" 10 | ) 11 | 12 | // Syslog reports metrics into syslog. 13 | // 14 | // w, _ := syslog.Dial("unixgram", "/dev/log", syslog.LOG_INFO, "metrics") 15 | // p.Syslog(60e9, w) 16 | // 17 | func (p *MetricsPlugin) Syslog(freq time.Duration, w *syslog.Writer) { 18 | go metrics.Syslog(p.Registry, freq, w) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/tatsushid/go-fastping/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | 24 | cover.out 25 | 26 | ping 27 | !ping/ 28 | -------------------------------------------------------------------------------- /vendor/github.com/tebeka/selenium/.gitignore: -------------------------------------------------------------------------------- 1 | README.html 2 | _testmain.go 3 | sauce.json 4 | t.go 5 | selenium-server-standalone-*.jar 6 | chromedriver* 7 | vendor/* 8 | !vendor/*.go 9 | -------------------------------------------------------------------------------- /vendor/github.com/tebeka/selenium/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.8.x 4 | 5 | jdk: 6 | - openjdk8 7 | 8 | # Needed to update java8 to a more recent version. 9 | # https://github.com/travis-ci/travis-ci/issues/3259#issuecomment-130860338 10 | addons: 11 | apt: 12 | packages: 13 | - oracle-java8-installer 14 | - oracle-java8-set-default 15 | 16 | before_script: 17 | - "export DISPLAY=:99.0" 18 | - "sh -e /etc/init.d/xvfb start" 19 | - sleep 3 # give xvfb some time to start 20 | 21 | script: ./testing/travis-ci-test.sh 22 | 23 | after_success: 24 | - bash <(curl -s https://codecov.io/bash) -- -v 25 | 26 | sudo: false 27 | -------------------------------------------------------------------------------- /vendor/github.com/tebeka/selenium/AUTHORS: -------------------------------------------------------------------------------- 1 | # This is the list of Selenium Go Client authors for copyright purposes. 2 | # 3 | # This does not necessarily list everyone who has contributed code, since in 4 | # some cases, their employer may be the copyright holder. To see the full list 5 | # of contributors, see the revision history in source control. 6 | Daniel Skora 7 | Google Inc. 8 | Hakon Eide 9 | Hiroaki Nakamura 10 | Ian Wetherbee 11 | Miki Tebeka 12 | Nikolai 13 | RaviTeju 14 | Rodrigo Lessa 15 | -------------------------------------------------------------------------------- /vendor/github.com/tebeka/selenium/common.go: -------------------------------------------------------------------------------- 1 | package selenium 2 | 3 | import ( 4 | "log" 5 | "net/url" 6 | ) 7 | 8 | var debugFlag = false 9 | 10 | // SetDebug sets debug mode 11 | func SetDebug(debug bool) { 12 | debugFlag = debug 13 | } 14 | 15 | func debugLog(format string, args ...interface{}) { 16 | if !debugFlag { 17 | return 18 | } 19 | log.Printf(format+"\n", args...) 20 | } 21 | 22 | // filteredURL replaces existing password from the given URL. 23 | func filteredURL(u string) string { 24 | // Hide password if set in URL 25 | m, err := url.Parse(u) 26 | if err != nil { 27 | return "" 28 | } 29 | if m.User != nil { 30 | if _, ok := m.User.Password(); ok { 31 | m.User = url.UserPassword(m.User.Username(), "__password__") 32 | } 33 | } 34 | return m.String() 35 | } 36 | -------------------------------------------------------------------------------- /vendor/github.com/templexxx/xor/.gitattributes: -------------------------------------------------------------------------------- 1 | *.s linguist-language=go 2 | -------------------------------------------------------------------------------- /vendor/github.com/templexxx/xor/.gitignore: -------------------------------------------------------------------------------- 1 | # Binaries for programs and plugins 2 | *.exe 3 | *.dll 4 | *.so 5 | *.dylib 6 | 7 | # Test binary, build with `go test -c` 8 | *.test 9 | 10 | # Output of the go coverage tool, specifically when used with LiteIDE 11 | *.out 12 | 13 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736 14 | .glide/ 15 | /backup/ 16 | /backup2/ 17 | /.idea 18 | /backup3/ 19 | -------------------------------------------------------------------------------- /vendor/github.com/templexxx/xor/xor_other.go: -------------------------------------------------------------------------------- 1 | // +build !amd64 noasm 2 | 3 | package xor 4 | 5 | func xorBytes(dst, src0, src1 []byte, size int) { 6 | bytesNoSIMD(dst, src0, src1, size) 7 | } 8 | 9 | func xorMatrix(dst []byte, src [][]byte) { 10 | matrixNoSIMD(dst, src) 11 | } 12 | 13 | func xorSrc0(dst, src0, src1 []byte) { 14 | bytesNoSIMD(dst, src0, src1, len(src0)) 15 | } 16 | 17 | func xorSrc1(dst, src0, src1 []byte) { 18 | bytesNoSIMD(dst, src0, src1, len(src1)) 19 | } 20 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_arrayof_gte_go15.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.5 5 | 6 | package codec 7 | 8 | import "reflect" 9 | 10 | const reflectArrayOfSupported = true 11 | 12 | func reflectArrayOf(count int, elem reflect.Type) reflect.Type { 13 | return reflect.ArrayOf(count, elem) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_arrayof_lt_go15.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build !go1.5 5 | 6 | package codec 7 | 8 | import "reflect" 9 | 10 | const reflectArrayOfSupported = false 11 | 12 | func reflectArrayOf(count int, elem reflect.Type) reflect.Type { 13 | panic("codec: reflect.ArrayOf unsupported in this go version") 14 | } 15 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_makemap_gte_go19.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.9 5 | 6 | package codec 7 | 8 | import "reflect" 9 | 10 | func makeMapReflect(t reflect.Type, size int) reflect.Value { 11 | if size < 0 { 12 | return reflect.MakeMapWithSize(t, 4) 13 | } 14 | return reflect.MakeMapWithSize(t, size) 15 | } 16 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_makemap_lt_go19.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build !go1.9 5 | 6 | package codec 7 | 8 | import "reflect" 9 | 10 | func makeMapReflect(t reflect.Type, size int) reflect.Value { 11 | return reflect.MakeMap(t) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_unexportedembeddedptr_gte_go110.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.10 5 | 6 | package codec 7 | 8 | const allowSetUnexportedEmbeddedPtr = false 9 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_unexportedembeddedptr_lt_go110.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build !go1.10 5 | 6 | package codec 7 | 8 | const allowSetUnexportedEmbeddedPtr = true 9 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_unsupported_lt_go14.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build !go1.4 5 | 6 | package codec 7 | 8 | // This codec package will only work for go1.4 and above. 9 | // This is for the following reasons: 10 | // - go 1.4 was released in 2014 11 | // - go runtime is written fully in go 12 | // - interface only holds pointers 13 | // - reflect.Value is stabilized as 3 words 14 | 15 | func init() { 16 | panic("codec: go 1.3 and below are not supported") 17 | } 18 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_vendor_eq_go15.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.5,!go1.6 5 | 6 | package codec 7 | 8 | import "os" 9 | 10 | var genCheckVendor = os.Getenv("GO15VENDOREXPERIMENT") == "1" 11 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_vendor_eq_go16.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.6,!go1.7 5 | 6 | package codec 7 | 8 | import "os" 9 | 10 | var genCheckVendor = os.Getenv("GO15VENDOREXPERIMENT") != "0" 11 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_vendor_gte_go17.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build go1.7 5 | 6 | package codec 7 | 8 | const genCheckVendor = true 9 | -------------------------------------------------------------------------------- /vendor/github.com/ugorji/go/codec/goversion_vendor_lt_go15.go: -------------------------------------------------------------------------------- 1 | // Copyright (c) 2012-2015 Ugorji Nwoke. All rights reserved. 2 | // Use of this source code is governed by a MIT license found in the LICENSE file. 3 | 4 | // +build !go1.5 5 | 6 | package codec 7 | 8 | var genCheckVendor = false 9 | -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | go: 3 | - 1.8 4 | 5 | before_install: 6 | - go get -t -v ./... 7 | 8 | install: 9 | - go get github.com/xtaci/kcp-go 10 | 11 | script: 12 | - go test -coverprofile=coverage.txt -covermode=atomic -bench . 13 | 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/donate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookeem/godemo/8edc156a8d58d39c942b0533206602f8be6508fc/vendor/github.com/xtaci/kcp-go/donate.png -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookeem/godemo/8edc156a8d58d39c942b0533206602f8be6508fc/vendor/github.com/xtaci/kcp-go/frame.png -------------------------------------------------------------------------------- /vendor/github.com/xtaci/kcp-go/kcp-go.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookeem/godemo/8edc156a8d58d39c942b0533206602f8be6508fc/vendor/github.com/xtaci/kcp-go/kcp-go.png -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at https://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at https://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/curve25519/const_amd64.h: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This code was translated into a form compatible with 6a from the public 6 | // domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html 7 | 8 | #define REDMASK51 0x0007FFFFFFFFFFFF 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/crypto/curve25519/const_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // This code was translated into a form compatible with 6a from the public 6 | // domain sources in SUPERCOP: https://bench.cr.yp.to/supercop.html 7 | 8 | // +build amd64,!gccgo,!appengine 9 | 10 | // These constants cannot be encoded in non-MOVQ immediates. 11 | // We access them directly from memory instead. 12 | 13 | DATA ·_121666_213(SB)/8, $996687872 14 | GLOBL ·_121666_213(SB), 8, $8 15 | 16 | DATA ·_2P0(SB)/8, $0xFFFFFFFFFFFDA 17 | GLOBL ·_2P0(SB), 8, $8 18 | 19 | DATA ·_2P1234(SB)/8, $0xFFFFFFFFFFFFE 20 | GLOBL ·_2P1234(SB), 8, $8 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/.gitignore: -------------------------------------------------------------------------------- 1 | *~ 2 | h2i/h2i 3 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/Makefile: -------------------------------------------------------------------------------- 1 | curlimage: 2 | docker build -t gohttp2/curl . 3 | 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/README: -------------------------------------------------------------------------------- 1 | This is a work-in-progress HTTP/2 implementation for Go. 2 | 3 | It will eventually live in the Go standard library and won't require 4 | any changes to your code to use. It will just be automatic. 5 | 6 | Status: 7 | 8 | * The server support is pretty good. A few things are missing 9 | but are being worked on. 10 | * The client work has just started but shares a lot of code 11 | is coming along much quicker. 12 | 13 | Docs are at https://godoc.org/golang.org/x/net/http2 14 | 15 | Demo test server at https://http2.golang.org/ 16 | 17 | Help & bug reports welcome! 18 | 19 | Contributing: https://golang.org/doc/contribute.html 20 | Bugs: https://golang.org/issue/new?title=x/net/http2:+ 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/http2/not_go18.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !go1.8 6 | 7 | package http2 8 | 9 | import ( 10 | "io" 11 | "net/http" 12 | ) 13 | 14 | func configureServer18(h1 *http.Server, h2 *Server) error { 15 | // No IdleTimeout to sync prior to Go 1.8. 16 | return nil 17 | } 18 | 19 | func shouldLogPanic(panicValue interface{}) bool { 20 | return panicValue != nil 21 | } 22 | 23 | func reqGetBody(req *http.Request) func() (io.ReadCloser, error) { 24 | return nil 25 | } 26 | 27 | func reqBodyIsNoBody(io.ReadCloser) bool { return false } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/icmp/helper.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package icmp 6 | 7 | import ( 8 | "encoding/binary" 9 | "unsafe" 10 | ) 11 | 12 | var ( 13 | // See http://www.freebsd.org/doc/en/books/porters-handbook/freebsd-versions.html. 14 | freebsdVersion uint32 15 | 16 | nativeEndian binary.ByteOrder 17 | ) 18 | 19 | func init() { 20 | i := uint32(1) 21 | b := (*[4]byte)(unsafe.Pointer(&i)) 22 | if b[0] == 1 { 23 | nativeEndian = binary.LittleEndian 24 | } else { 25 | nativeEndian = binary.BigEndian 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/icmp/ipv6.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package icmp 6 | 7 | import ( 8 | "net" 9 | 10 | "golang.org/x/net/internal/iana" 11 | ) 12 | 13 | const ipv6PseudoHeaderLen = 2*net.IPv6len + 8 14 | 15 | // IPv6PseudoHeader returns an IPv6 pseudo header for checksum 16 | // calculation. 17 | func IPv6PseudoHeader(src, dst net.IP) []byte { 18 | b := make([]byte, ipv6PseudoHeaderLen) 19 | copy(b, src.To16()) 20 | copy(b[net.IPv6len:], dst.To16()) 21 | b[len(b)-1] = byte(iana.ProtocolIPv6ICMP) 22 | return b 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/icmp/sys_freebsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package icmp 6 | 7 | import "syscall" 8 | 9 | func init() { 10 | freebsdVersion, _ = syscall.SysctlUint32("kern.osreldate") 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/internal/netreflect/socket_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !go1.9 6 | // +build !darwin,!dragonfly,!freebsd,!linux,!netbsd,!openbsd,!solaris,!windows 7 | 8 | package netreflect 9 | 10 | import "net" 11 | 12 | func socketOf(c net.Conn) (uintptr, error) { return 0, errOpNoSupport } 13 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/bpfopt_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !linux 6 | 7 | package ipv4 8 | 9 | import "golang.org/x/net/bpf" 10 | 11 | // SetBPF attaches a BPF program to the connection. 12 | // 13 | // Only supported on Linux. 14 | func (c *dgramOpt) SetBPF(filter []bpf.RawInstruction) error { 15 | return errOpNoSupport 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/control_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv4 8 | 9 | func setControlMessage(s uintptr, opt *rawOpt, cf ControlFlags, on bool) error { 10 | return errOpNoSupport 11 | } 12 | 13 | func newControlMessage(opt *rawOpt) []byte { 14 | return nil 15 | } 16 | 17 | func parseControlMessage(b []byte) (*ControlMessage, error) { 18 | return nil, errOpNoSupport 19 | } 20 | 21 | func marshalControlMessage(cm *ControlMessage) []byte { 22 | return nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/control_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv4 6 | 7 | import "syscall" 8 | 9 | func setControlMessage(s uintptr, opt *rawOpt, cf ControlFlags, on bool) error { 10 | // TODO(mikio): implement this 11 | return syscall.EWINDOWS 12 | } 13 | 14 | func newControlMessage(opt *rawOpt) []byte { 15 | // TODO(mikio): implement this 16 | return nil 17 | } 18 | 19 | func parseControlMessage(b []byte) (*ControlMessage, error) { 20 | // TODO(mikio): implement this 21 | return nil, syscall.EWINDOWS 22 | } 23 | 24 | func marshalControlMessage(cm *ControlMessage) []byte { 25 | // TODO(mikio): implement this 26 | return nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/icmp_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv4 6 | 7 | func (f *icmpFilter) accept(typ ICMPType) { 8 | f.Data &^= 1 << (uint32(typ) & 31) 9 | } 10 | 11 | func (f *icmpFilter) block(typ ICMPType) { 12 | f.Data |= 1 << (uint32(typ) & 31) 13 | } 14 | 15 | func (f *icmpFilter) setAll(block bool) { 16 | if block { 17 | f.Data = 1<<32 - 1 18 | } else { 19 | f.Data = 0 20 | } 21 | } 22 | 23 | func (f *icmpFilter) willBlock(typ ICMPType) bool { 24 | return f.Data&(1<<(uint32(typ)&31)) != 0 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/icmp_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !linux 6 | 7 | package ipv4 8 | 9 | const sizeofICMPFilter = 0x0 10 | 11 | type icmpFilter struct { 12 | } 13 | 14 | func (f *icmpFilter) accept(typ ICMPType) { 15 | } 16 | 17 | func (f *icmpFilter) block(typ ICMPType) { 18 | } 19 | 20 | func (f *icmpFilter) setAll(block bool) { 21 | } 22 | 23 | func (f *icmpFilter) willBlock(typ ICMPType) bool { 24 | return false 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/payload.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv4 6 | 7 | import "net" 8 | 9 | // BUG(mikio): On Windows, the ControlMessage for ReadFrom and WriteTo 10 | // methods of PacketConn is not implemented. 11 | 12 | // A payloadHandler represents the IPv4 datagram payload handler. 13 | type payloadHandler struct { 14 | net.PacketConn 15 | rawOpt 16 | } 17 | 18 | func (c *payloadHandler) ok() bool { return c != nil && c.PacketConn != nil } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sockopt_asmreq_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !darwin,!dragonfly,!freebsd,!netbsd,!openbsd,!solaris,!windows 6 | 7 | package ipv4 8 | 9 | import "net" 10 | 11 | func setsockoptIPMreq(s uintptr, name int, ifi *net.Interface, grp net.IP) error { 12 | return errOpNoSupport 13 | } 14 | 15 | func getsockoptInterface(s uintptr, name int) (*net.Interface, error) { 16 | return nil, errOpNoSupport 17 | } 18 | 19 | func setsockoptInterface(s uintptr, name int, ifi *net.Interface) error { 20 | return errOpNoSupport 21 | } 22 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sockopt_asmreqn_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !darwin,!freebsd,!linux 6 | 7 | package ipv4 8 | 9 | import "net" 10 | 11 | func getsockoptIPMreqn(s uintptr, name int) (*net.Interface, error) { 12 | return nil, errOpNoSupport 13 | } 14 | 15 | func setsockoptIPMreqn(s uintptr, name int, ifi *net.Interface, grp net.IP) error { 16 | return errOpNoSupport 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sockopt_ssmreq_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !darwin,!freebsd,!linux,!solaris 6 | 7 | package ipv4 8 | 9 | import "net" 10 | 11 | func setsockoptGroupReq(s uintptr, name int, ifi *net.Interface, grp net.IP) error { 12 | return errOpNoSupport 13 | } 14 | 15 | func setsockoptGroupSourceReq(s uintptr, name int, ifi *net.Interface, grp, src net.IP) error { 16 | return errOpNoSupport 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sockopt_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv4 8 | 9 | func setInt(s uintptr, opt *sockOpt, v int) error { 10 | return errOpNoSupport 11 | } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sys_linux_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | TEXT ·socketcall(SB),NOSPLIT,$0-36 8 | JMP syscall·socketcall(SB) 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sys_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 8 | JMP syscall·sysvicall6(SB) 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/sys_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv4 8 | 9 | var ( 10 | ctlOpts = [ctlMax]ctlOpt{} 11 | 12 | sockOpts = [ssoMax]sockOpt{} 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/syscall_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv4 6 | 7 | import ( 8 | "syscall" 9 | "unsafe" 10 | ) 11 | 12 | func getsockopt(s uintptr, level, name int, v unsafe.Pointer, l *uint32) error { 13 | return syscall.Getsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(v), (*int32)(unsafe.Pointer(l))) 14 | } 15 | 16 | func setsockopt(s uintptr, level, name int, v unsafe.Pointer, l uint32) error { 17 | return syscall.Setsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(v), int32(l)) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/zsys_dragonfly.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs defs_dragonfly.go 3 | 4 | package ipv4 5 | 6 | const ( 7 | sysIP_OPTIONS = 0x1 8 | sysIP_HDRINCL = 0x2 9 | sysIP_TOS = 0x3 10 | sysIP_TTL = 0x4 11 | sysIP_RECVOPTS = 0x5 12 | sysIP_RECVRETOPTS = 0x6 13 | sysIP_RECVDSTADDR = 0x7 14 | sysIP_RETOPTS = 0x8 15 | sysIP_RECVIF = 0x14 16 | sysIP_RECVTTL = 0x41 17 | 18 | sysIP_MULTICAST_IF = 0x9 19 | sysIP_MULTICAST_TTL = 0xa 20 | sysIP_MULTICAST_LOOP = 0xb 21 | sysIP_MULTICAST_VIF = 0xe 22 | sysIP_ADD_MEMBERSHIP = 0xc 23 | sysIP_DROP_MEMBERSHIP = 0xd 24 | 25 | sizeofIPMreq = 0x8 26 | ) 27 | 28 | type ipMreq struct { 29 | Multiaddr [4]byte /* in_addr */ 30 | Interface [4]byte /* in_addr */ 31 | } 32 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/zsys_netbsd.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs defs_netbsd.go 3 | 4 | package ipv4 5 | 6 | const ( 7 | sysIP_OPTIONS = 0x1 8 | sysIP_HDRINCL = 0x2 9 | sysIP_TOS = 0x3 10 | sysIP_TTL = 0x4 11 | sysIP_RECVOPTS = 0x5 12 | sysIP_RECVRETOPTS = 0x6 13 | sysIP_RECVDSTADDR = 0x7 14 | sysIP_RETOPTS = 0x8 15 | sysIP_RECVIF = 0x14 16 | sysIP_RECVTTL = 0x17 17 | 18 | sysIP_MULTICAST_IF = 0x9 19 | sysIP_MULTICAST_TTL = 0xa 20 | sysIP_MULTICAST_LOOP = 0xb 21 | sysIP_ADD_MEMBERSHIP = 0xc 22 | sysIP_DROP_MEMBERSHIP = 0xd 23 | 24 | sizeofIPMreq = 0x8 25 | ) 26 | 27 | type ipMreq struct { 28 | Multiaddr [4]byte /* in_addr */ 29 | Interface [4]byte /* in_addr */ 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv4/zsys_openbsd.go: -------------------------------------------------------------------------------- 1 | // Created by cgo -godefs - DO NOT EDIT 2 | // cgo -godefs defs_openbsd.go 3 | 4 | package ipv4 5 | 6 | const ( 7 | sysIP_OPTIONS = 0x1 8 | sysIP_HDRINCL = 0x2 9 | sysIP_TOS = 0x3 10 | sysIP_TTL = 0x4 11 | sysIP_RECVOPTS = 0x5 12 | sysIP_RECVRETOPTS = 0x6 13 | sysIP_RECVDSTADDR = 0x7 14 | sysIP_RETOPTS = 0x8 15 | sysIP_RECVIF = 0x1e 16 | sysIP_RECVTTL = 0x1f 17 | 18 | sysIP_MULTICAST_IF = 0x9 19 | sysIP_MULTICAST_TTL = 0xa 20 | sysIP_MULTICAST_LOOP = 0xb 21 | sysIP_ADD_MEMBERSHIP = 0xc 22 | sysIP_DROP_MEMBERSHIP = 0xd 23 | 24 | sizeofIPMreq = 0x8 25 | ) 26 | 27 | type ipMreq struct { 28 | Multiaddr [4]byte /* in_addr */ 29 | Interface [4]byte /* in_addr */ 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/bpfopt_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !linux 6 | 7 | package ipv6 8 | 9 | import "golang.org/x/net/bpf" 10 | 11 | // SetBPF attaches a BPF program to the connection. 12 | // 13 | // Only supported on Linux. 14 | func (c *dgramOpt) SetBPF(filter []bpf.RawInstruction) error { 15 | return errOpNoSupport 16 | } 17 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/control_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv6 8 | 9 | func setControlMessage(s uintptr, opt *rawOpt, cf ControlFlags, on bool) error { 10 | return errOpNoSupport 11 | } 12 | 13 | func newControlMessage(opt *rawOpt) (oob []byte) { 14 | return nil 15 | } 16 | 17 | func parseControlMessage(b []byte) (*ControlMessage, error) { 18 | return nil, errOpNoSupport 19 | } 20 | 21 | func marshalControlMessage(cm *ControlMessage) (oob []byte) { 22 | return nil 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/control_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv6 6 | 7 | import "syscall" 8 | 9 | func setControlMessage(s uintptr, opt *rawOpt, cf ControlFlags, on bool) error { 10 | // TODO(mikio): implement this 11 | return syscall.EWINDOWS 12 | } 13 | 14 | func newControlMessage(opt *rawOpt) (oob []byte) { 15 | // TODO(mikio): implement this 16 | return nil 17 | } 18 | 19 | func parseControlMessage(b []byte) (*ControlMessage, error) { 20 | // TODO(mikio): implement this 21 | return nil, syscall.EWINDOWS 22 | } 23 | 24 | func marshalControlMessage(cm *ControlMessage) (oob []byte) { 25 | // TODO(mikio): implement this 26 | return nil 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/icmp_bsd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd netbsd openbsd 6 | 7 | package ipv6 8 | 9 | func (f *icmpv6Filter) accept(typ ICMPType) { 10 | f.Filt[typ>>5] |= 1 << (uint32(typ) & 31) 11 | } 12 | 13 | func (f *icmpv6Filter) block(typ ICMPType) { 14 | f.Filt[typ>>5] &^= 1 << (uint32(typ) & 31) 15 | } 16 | 17 | func (f *icmpv6Filter) setAll(block bool) { 18 | for i := range f.Filt { 19 | if block { 20 | f.Filt[i] = 0 21 | } else { 22 | f.Filt[i] = 1<<32 - 1 23 | } 24 | } 25 | } 26 | 27 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool { 28 | return f.Filt[typ>>5]&(1<<(uint32(typ)&31)) == 0 29 | } 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/icmp_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv6 6 | 7 | func (f *icmpv6Filter) accept(typ ICMPType) { 8 | f.Data[typ>>5] &^= 1 << (uint32(typ) & 31) 9 | } 10 | 11 | func (f *icmpv6Filter) block(typ ICMPType) { 12 | f.Data[typ>>5] |= 1 << (uint32(typ) & 31) 13 | } 14 | 15 | func (f *icmpv6Filter) setAll(block bool) { 16 | for i := range f.Data { 17 | if block { 18 | f.Data[i] = 1<<32 - 1 19 | } else { 20 | f.Data[i] = 0 21 | } 22 | } 23 | } 24 | 25 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool { 26 | return f.Data[typ>>5]&(1<<(uint32(typ)&31)) != 0 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/icmp_solaris.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv6 6 | 7 | func (f *icmpv6Filter) accept(typ ICMPType) { 8 | f.X__icmp6_filt[typ>>5] |= 1 << (uint32(typ) & 31) 9 | } 10 | 11 | func (f *icmpv6Filter) block(typ ICMPType) { 12 | f.X__icmp6_filt[typ>>5] &^= 1 << (uint32(typ) & 31) 13 | } 14 | 15 | func (f *icmpv6Filter) setAll(block bool) { 16 | for i := range f.X__icmp6_filt { 17 | if block { 18 | f.X__icmp6_filt[i] = 0 19 | } else { 20 | f.X__icmp6_filt[i] = 1<<32 - 1 21 | } 22 | } 23 | } 24 | 25 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool { 26 | return f.X__icmp6_filt[typ>>5]&(1<<(uint32(typ)&31)) == 0 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/icmp_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv6 8 | 9 | type icmpv6Filter struct { 10 | } 11 | 12 | func (f *icmpv6Filter) accept(typ ICMPType) { 13 | } 14 | 15 | func (f *icmpv6Filter) block(typ ICMPType) { 16 | } 17 | 18 | func (f *icmpv6Filter) setAll(block bool) { 19 | } 20 | 21 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool { 22 | return false 23 | } 24 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/icmp_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv6 6 | 7 | func (f *icmpv6Filter) accept(typ ICMPType) { 8 | // TODO(mikio): implement this 9 | } 10 | 11 | func (f *icmpv6Filter) block(typ ICMPType) { 12 | // TODO(mikio): implement this 13 | } 14 | 15 | func (f *icmpv6Filter) setAll(block bool) { 16 | // TODO(mikio): implement this 17 | } 18 | 19 | func (f *icmpv6Filter) willBlock(typ ICMPType) bool { 20 | // TODO(mikio): implement this 21 | return false 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/payload.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv6 6 | 7 | import "net" 8 | 9 | // BUG(mikio): On Windows, the ControlMessage for ReadFrom and WriteTo 10 | // methods of PacketConn is not implemented. 11 | 12 | // A payloadHandler represents the IPv6 datagram payload handler. 13 | type payloadHandler struct { 14 | net.PacketConn 15 | rawOpt 16 | } 17 | 18 | func (c *payloadHandler) ok() bool { return c != nil && c.PacketConn != nil } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/sockopt_asmreq_posix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris windows 6 | 7 | package ipv6 8 | 9 | import ( 10 | "net" 11 | "os" 12 | "unsafe" 13 | ) 14 | 15 | func setsockoptIPMreq(s uintptr, opt *sockOpt, ifi *net.Interface, grp net.IP) error { 16 | var mreq ipv6Mreq 17 | copy(mreq.Multiaddr[:], grp) 18 | if ifi != nil { 19 | mreq.setIfindex(ifi.Index) 20 | } 21 | return os.NewSyscallError("setsockopt", setsockopt(s, opt.level, opt.name, unsafe.Pointer(&mreq), sizeofIPv6Mreq)) 22 | } 23 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/sockopt_ssmreq_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !darwin,!freebsd,!linux,!solaris 6 | 7 | package ipv6 8 | 9 | import "net" 10 | 11 | func setsockoptGroupReq(s uintptr, opt *sockOpt, ifi *net.Interface, grp net.IP) error { 12 | return errOpNoSupport 13 | } 14 | 15 | func setsockoptGroupSourceReq(s uintptr, opt *sockOpt, ifi *net.Interface, grp, src net.IP) error { 16 | return errOpNoSupport 17 | } 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/sockopt_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv6 8 | 9 | import "net" 10 | 11 | func getMTUInfo(s uintptr, opt *sockOpt) (*net.Interface, int, error) { 12 | return nil, 0, errOpNoSupport 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/sys_linux_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | TEXT ·socketcall(SB),NOSPLIT,$0-36 8 | JMP syscall·socketcall(SB) 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/sys_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | #include "textflag.h" 6 | 7 | TEXT ·sysvicall6(SB),NOSPLIT,$0-88 8 | JMP syscall·sysvicall6(SB) 9 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/sys_stub.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build nacl plan9 6 | 7 | package ipv6 8 | 9 | var ( 10 | ctlOpts = [ctlMax]ctlOpt{} 11 | 12 | sockOpts = [ssoMax]sockOpt{} 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/net/ipv6/syscall_windows.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | package ipv6 6 | 7 | import ( 8 | "syscall" 9 | "unsafe" 10 | ) 11 | 12 | func getsockopt(s uintptr, level, name int, v unsafe.Pointer, l *uint32) error { 13 | return syscall.Getsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(v), (*int32)(unsafe.Pointer(l))) 14 | } 15 | 16 | func setsockopt(s uintptr, level, name int, v unsafe.Pointer, l uint32) error { 17 | return syscall.Setsockopt(syscall.Handle(s), int32(level), int32(name), (*byte)(v), int32(l)) 18 | } 19 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/.gitignore: -------------------------------------------------------------------------------- 1 | _obj/ 2 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, Darwin 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, Darwin 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_darwin_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | // +build arm,darwin 7 | 8 | #include "textflag.h" 9 | 10 | // 11 | // System call support for ARM, Darwin 12 | // 13 | 14 | // Just jump to package syscall's implementation for all these functions. 15 | // The runtime may know about them. 16 | 17 | TEXT ·Syscall(SB),NOSPLIT,$0-28 18 | B syscall·Syscall(SB) 19 | 20 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 21 | B syscall·Syscall6(SB) 22 | 23 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 24 | B syscall·Syscall9(SB) 25 | 26 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 27 | B syscall·RawSyscall(SB) 28 | 29 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 30 | B syscall·RawSyscall6(SB) 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, DragonFly 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-64 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-88 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-112 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-64 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-88 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_freebsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_freebsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ARM, FreeBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for AMD64, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 23 | JMP syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 26 | JMP syscall·RawSyscall6(SB) 27 | 28 | TEXT ·gettimeofday(SB),NOSPLIT,$0-16 29 | JMP syscall·gettimeofday(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for arm, Linux 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 23 | B syscall·RawSyscall(SB) 24 | 25 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 26 | B syscall·RawSyscall6(SB) 27 | 28 | TEXT ·seek(SB),NOSPLIT,$0-32 29 | B syscall·seek(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_arm64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build arm64 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // Just jump to package syscall's implementation for all these functions. 12 | // The runtime may know about them. 13 | 14 | TEXT ·Syscall(SB),NOSPLIT,$0-56 15 | B syscall·Syscall(SB) 16 | 17 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 18 | B syscall·Syscall6(SB) 19 | 20 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 21 | B syscall·RawSyscall(SB) 22 | 23 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 24 | B syscall·RawSyscall6(SB) 25 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_mips64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build mips64 mips64le 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for mips64, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | JMP syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | JMP syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | JMP syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | JMP syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux 6 | // +build ppc64 ppc64le 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for ppc64, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | BR syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | BR syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | BR syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | BR syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_linux_s390x.s: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build s390x 6 | // +build linux 7 | // +build !gccgo 8 | 9 | #include "textflag.h" 10 | 11 | // 12 | // System calls for s390x, Linux 13 | // 14 | 15 | // Just jump to package syscall's implementation for all these functions. 16 | // The runtime may know about them. 17 | 18 | TEXT ·Syscall(SB),NOSPLIT,$0-56 19 | BR syscall·Syscall(SB) 20 | 21 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 22 | BR syscall·Syscall6(SB) 23 | 24 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 25 | BR syscall·RawSyscall(SB) 26 | 27 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 28 | BR syscall·RawSyscall6(SB) 29 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_netbsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_netbsd_arm.s: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for ARM, NetBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | B syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | B syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | B syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | B syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | B syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_386.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for 386, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-28 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-40 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-52 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-28 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-40 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System call support for AMD64, OpenBSD 11 | // 12 | 13 | // Just jump to package syscall's implementation for all these functions. 14 | // The runtime may know about them. 15 | 16 | TEXT ·Syscall(SB),NOSPLIT,$0-56 17 | JMP syscall·Syscall(SB) 18 | 19 | TEXT ·Syscall6(SB),NOSPLIT,$0-80 20 | JMP syscall·Syscall6(SB) 21 | 22 | TEXT ·Syscall9(SB),NOSPLIT,$0-104 23 | JMP syscall·Syscall9(SB) 24 | 25 | TEXT ·RawSyscall(SB),NOSPLIT,$0-56 26 | JMP syscall·RawSyscall(SB) 27 | 28 | TEXT ·RawSyscall6(SB),NOSPLIT,$0-80 29 | JMP syscall·RawSyscall6(SB) 30 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/asm_solaris_amd64.s: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !gccgo 6 | 7 | #include "textflag.h" 8 | 9 | // 10 | // System calls for amd64, Solaris are implemented in runtime/syscall_solaris.go 11 | // 12 | 13 | TEXT ·sysvicall6(SB),NOSPLIT,$0-64 14 | JMP syscall·sysvicall6(SB) 15 | 16 | TEXT ·rawSysvicall6(SB),NOSPLIT,$0-64 17 | JMP syscall·rawSysvicall6(SB) 18 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/bluetooth_linux.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // Bluetooth sockets and messages 6 | 7 | package unix 8 | 9 | // Bluetooth Protocols 10 | const ( 11 | BTPROTO_L2CAP = 0 12 | BTPROTO_HCI = 1 13 | BTPROTO_SCO = 2 14 | BTPROTO_RFCOMM = 3 15 | BTPROTO_BNEP = 4 16 | BTPROTO_CMTP = 5 17 | BTPROTO_HIDP = 6 18 | BTPROTO_AVDTP = 7 19 | ) 20 | 21 | const ( 22 | HCI_CHANNEL_RAW = 0 23 | HCI_CHANNEL_USER = 1 24 | HCI_CHANNEL_MONITOR = 2 25 | HCI_CHANNEL_CONTROL = 3 26 | ) 27 | 28 | // Socketoption Level 29 | const ( 30 | SOL_BLUETOOTH = 0x112 31 | SOL_HCI = 0x0 32 | SOL_L2CAP = 0x6 33 | SOL_RFCOMM = 0x12 34 | SOL_SCO = 0x11 35 | ) 36 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/constants.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | package unix 8 | 9 | const ( 10 | R_OK = 0x4 11 | W_OK = 0x2 12 | X_OK = 0x1 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_big.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | // +build ppc64 s390x mips mips64 6 | 7 | package unix 8 | 9 | const isBigEndian = true 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/endian_little.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | // 5 | // +build 386 amd64 amd64p32 arm arm64 ppc64le mipsle mips64le 6 | 7 | package unix 8 | 9 | const isBigEndian = false 10 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unix.go: -------------------------------------------------------------------------------- 1 | // Copyright 2010 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | // Unix environment variables. 8 | 9 | package unix 10 | 11 | import "syscall" 12 | 13 | func Getenv(key string) (value string, found bool) { 14 | return syscall.Getenv(key) 15 | } 16 | 17 | func Setenv(key, value string) error { 18 | return syscall.Setenv(key, value) 19 | } 20 | 21 | func Clearenv() { 22 | syscall.Clearenv() 23 | } 24 | 25 | func Environ() []string { 26 | return syscall.Environ() 27 | } 28 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/env_unset.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.4 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | func Unsetenv(key string) error { 12 | // This was added in Go 1.4. 13 | return syscall.Unsetenv(key) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/flock_linux_32bit.go: -------------------------------------------------------------------------------- 1 | // +build linux,386 linux,arm linux,mips linux,mipsle 2 | 3 | // Copyright 2014 The Go Authors. All rights reserved. 4 | // Use of this source code is governed by a BSD-style 5 | // license that can be found in the LICENSE file. 6 | 7 | package unix 8 | 9 | func init() { 10 | // On 32-bit Linux systems, the fcntl syscall that matches Go's 11 | // Flock_t type is SYS_FCNTL64, not SYS_FCNTL. 12 | fcntl64Syscall = SYS_FCNTL64 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2015 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build gccgo,linux,amd64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern gettimeofday 12 | func realGettimeofday(*Timeval, *byte) int32 13 | 14 | func gettimeofday(tv *Timeval) (err syscall.Errno) { 15 | r := realGettimeofday(tv, nil) 16 | if r < 0 { 17 | return syscall.GetErrno() 18 | } 19 | return 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/gccgo_linux_sparc64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build gccgo,linux,sparc64 6 | 7 | package unix 8 | 9 | import "syscall" 10 | 11 | //extern sysconf 12 | func realSysconf(name int) int64 13 | 14 | func sysconf(name int) (n int64, err syscall.Errno) { 15 | r := realSysconf(name) 16 | if r < 0 { 17 | return 0, syscall.GetErrno() 18 | } 19 | return r, 0 20 | } 21 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin,race linux,race freebsd,race 6 | 7 | package unix 8 | 9 | import ( 10 | "runtime" 11 | "unsafe" 12 | ) 13 | 14 | const raceenabled = true 15 | 16 | func raceAcquire(addr unsafe.Pointer) { 17 | runtime.RaceAcquire(addr) 18 | } 19 | 20 | func raceReleaseMerge(addr unsafe.Pointer) { 21 | runtime.RaceReleaseMerge(addr) 22 | } 23 | 24 | func raceReadRange(addr unsafe.Pointer, len int) { 25 | runtime.RaceReadRange(addr, len) 26 | } 27 | 28 | func raceWriteRange(addr unsafe.Pointer, len int) { 29 | runtime.RaceWriteRange(addr, len) 30 | } 31 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/race0.go: -------------------------------------------------------------------------------- 1 | // Copyright 2012 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin,!race linux,!race freebsd,!race netbsd openbsd solaris dragonfly 6 | 7 | package unix 8 | 9 | import ( 10 | "unsafe" 11 | ) 12 | 13 | const raceenabled = false 14 | 15 | func raceAcquire(addr unsafe.Pointer) { 16 | } 17 | 18 | func raceReleaseMerge(addr unsafe.Pointer) { 19 | } 20 | 21 | func raceReadRange(addr unsafe.Pointer, len int) { 22 | } 23 | 24 | func raceWriteRange(addr unsafe.Pointer, len int) { 25 | } 26 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/str.go: -------------------------------------------------------------------------------- 1 | // Copyright 2009 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | 7 | package unix 8 | 9 | func itoa(val int) string { // do it here rather than with fmt to avoid dependency 10 | if val < 0 { 11 | return "-" + uitoa(uint(-val)) 12 | } 13 | return uitoa(uint(val)) 14 | } 15 | 16 | func uitoa(val uint) string { 17 | var buf [32]byte // big enough for int64 18 | i := len(buf) - 1 19 | for val >= 10 { 20 | buf[i] = byte(val%10 + '0') 21 | i-- 22 | val /= 10 23 | } 24 | buf[i] = byte(val + '0') 25 | return string(buf[i:]) 26 | } 27 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,linux 6 | // +build !gccgo 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | //go:noescape 13 | func gettimeofday(tv *Timeval) (err syscall.Errno) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_no_getwd.go: -------------------------------------------------------------------------------- 1 | // Copyright 2013 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build dragonfly freebsd netbsd openbsd 6 | 7 | package unix 8 | 9 | const ImplementsGetwd = false 10 | 11 | func Getwd() (string, error) { return "", ENOTSUP } 12 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/syscall_unix_gc.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build darwin dragonfly freebsd linux netbsd openbsd solaris 6 | // +build !gccgo 7 | 8 | package unix 9 | 10 | import "syscall" 11 | 12 | func Syscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 13 | func Syscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 14 | func RawSyscall(trap, a1, a2, a3 uintptr) (r1, r2 uintptr, err syscall.Errno) 15 | func RawSyscall6(trap, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2 uintptr, err syscall.Errno) 16 | -------------------------------------------------------------------------------- /vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build amd64,solaris 6 | 7 | package unix 8 | 9 | // TODO(aram): remove these before Go 1.3. 10 | const ( 11 | SYS_EXECVE = 59 12 | SYS_FCNTL = 62 13 | ) 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/text/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/AUTHORS: -------------------------------------------------------------------------------- 1 | # This source code refers to The Go Authors for copyright purposes. 2 | # The master list of authors is in the main Go distribution, 3 | # visible at http://tip.golang.org/AUTHORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/CONTRIBUTORS: -------------------------------------------------------------------------------- 1 | # This source code was written by the Go contributors. 2 | # The master list of contributors is in the main Go distribution, 3 | # visible at http://tip.golang.org/CONTRIBUTORS. 4 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/ast/astutil/util.go: -------------------------------------------------------------------------------- 1 | package astutil 2 | 3 | import "go/ast" 4 | 5 | // Unparen returns e with any enclosing parentheses stripped. 6 | func Unparen(e ast.Expr) ast.Expr { 7 | for { 8 | p, ok := e.(*ast.ParenExpr) 9 | if !ok { 10 | return e 11 | } 12 | e = p.X 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/gcimporter15/isAlias18.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build !go1.9 6 | 7 | package gcimporter 8 | 9 | import "go/types" 10 | 11 | func isAlias(obj *types.TypeName) bool { 12 | return false // there are no type aliases before Go 1.9 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/go/gcimporter15/isAlias19.go: -------------------------------------------------------------------------------- 1 | // Copyright 2017 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build go1.9 6 | 7 | package gcimporter 8 | 9 | import "go/types" 10 | 11 | func isAlias(obj *types.TypeName) bool { 12 | return obj.IsAlias() 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/imports/fastwalk_dirent_fileno.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build freebsd openbsd netbsd 6 | 7 | package imports 8 | 9 | import "syscall" 10 | 11 | func direntInode(dirent *syscall.Dirent) uint64 { 12 | return uint64(dirent.Fileno) 13 | } 14 | -------------------------------------------------------------------------------- /vendor/golang.org/x/tools/imports/fastwalk_dirent_ino.go: -------------------------------------------------------------------------------- 1 | // Copyright 2016 The Go Authors. All rights reserved. 2 | // Use of this source code is governed by a BSD-style 3 | // license that can be found in the LICENSE file. 4 | 5 | // +build linux darwin 6 | // +build !appengine 7 | 8 | package imports 9 | 10 | import "syscall" 11 | 12 | func direntInode(dirent *syscall.Dirent) uint64 { 13 | return uint64(dirent.Ino) 14 | } 15 | -------------------------------------------------------------------------------- /vendor/google.golang.org/grpc/AUTHORS: -------------------------------------------------------------------------------- 1 | Google Inc. 2 | -------------------------------------------------------------------------------- /vendor/google.golang.org/grpc/codegen.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # This script serves as an example to demonstrate how to generate the gRPC-Go 4 | # interface and the related messages from .proto file. 5 | # 6 | # It assumes the installation of i) Google proto buffer compiler at 7 | # https://github.com/google/protobuf (after v2.6.1) and ii) the Go codegen 8 | # plugin at https://github.com/golang/protobuf (after 2015-02-20). If you have 9 | # not, please install them first. 10 | # 11 | # We recommend running this script at $GOPATH/src. 12 | # 13 | # If this is not what you need, feel free to make your own scripts. Again, this 14 | # script is for demonstration purpose. 15 | # 16 | proto=$1 17 | protoc --go_out=plugins=grpc:. $proto 18 | -------------------------------------------------------------------------------- /vendor/google.golang.org/grpc/codes/code_string.go: -------------------------------------------------------------------------------- 1 | // generated by stringer -type=Code; DO NOT EDIT 2 | 3 | package codes 4 | 5 | import "fmt" 6 | 7 | const _Code_name = "OKCanceledUnknownInvalidArgumentDeadlineExceededNotFoundAlreadyExistsPermissionDeniedResourceExhaustedFailedPreconditionAbortedOutOfRangeUnimplementedInternalUnavailableDataLossUnauthenticated" 8 | 9 | var _Code_index = [...]uint8{0, 2, 10, 17, 32, 48, 56, 69, 85, 102, 120, 127, 137, 150, 158, 169, 177, 192} 10 | 11 | func (i Code) String() string { 12 | if i+1 >= Code(len(_Code_index)) { 13 | return fmt.Sprintf("Code(%d)", i) 14 | } 15 | return _Code_name[_Code_index[i]:_Code_index[i+1]] 16 | } 17 | -------------------------------------------------------------------------------- /vendor/google.golang.org/grpc/doc.go: -------------------------------------------------------------------------------- 1 | /* 2 | * 3 | * Copyright 2015 gRPC authors. 4 | * 5 | * Licensed under the Apache License, Version 2.0 (the "License"); 6 | * you may not use this file except in compliance with the License. 7 | * You may obtain a copy of the License at 8 | * 9 | * http://www.apache.org/licenses/LICENSE-2.0 10 | * 11 | * Unless required by applicable law or agreed to in writing, software 12 | * distributed under the License is distributed on an "AS IS" BASIS, 13 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 | * See the License for the specific language governing permissions and 15 | * limitations under the License. 16 | * 17 | */ 18 | 19 | /* 20 | Package grpc implements an RPC system called gRPC. 21 | 22 | See grpc.io for more information about gRPC. 23 | */ 24 | package grpc 25 | -------------------------------------------------------------------------------- /vendor/gopkg.in/gin-gonic/gin.v1/.gitignore: -------------------------------------------------------------------------------- 1 | Godeps/* 2 | !Godeps/Godeps.json 3 | coverage.out 4 | count.out 5 | -------------------------------------------------------------------------------- /vendor/gopkg.in/gin-gonic/gin.v1/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | sudo: false 3 | go: 4 | - 1.4 5 | - 1.5.4 6 | - 1.6.4 7 | - 1.7.4 8 | - tip 9 | 10 | script: 11 | - go test -v -covermode=count -coverprofile=coverage.out 12 | 13 | after_success: 14 | - bash <(curl -s https://codecov.io/bash) 15 | 16 | notifications: 17 | webhooks: 18 | urls: 19 | - https://webhooks.gitter.im/e/7f95bf605c4d356372f4 20 | on_success: change # options: [always|never|change] default: always 21 | on_failure: always # options: [always|never|change] default: always 22 | on_start: false # default: false 23 | -------------------------------------------------------------------------------- /vendor/gopkg.in/gin-gonic/gin.v1/codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | notify: 3 | gitter: 4 | default: 5 | url: https://webhooks.gitter.im/e/d90dcdeeab2f1e357165 6 | -------------------------------------------------------------------------------- /vendor/gopkg.in/gin-gonic/gin.v1/deprecated.go: -------------------------------------------------------------------------------- 1 | // Copyright 2014 Manu Martinez-Almeida. All rights reserved. 2 | // Use of this source code is governed by a MIT style 3 | // license that can be found in the LICENSE file. 4 | 5 | package gin 6 | 7 | import "log" 8 | 9 | func (c *Context) GetCookie(name string) (string, error) { 10 | log.Println("GetCookie() method is deprecated. Use Cookie() instead.") 11 | return c.Cookie(name) 12 | } 13 | -------------------------------------------------------------------------------- /vendor/gopkg.in/gin-gonic/gin.v1/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookeem/godemo/8edc156a8d58d39c942b0533206602f8be6508fc/vendor/gopkg.in/gin-gonic/gin.v1/logo.jpg -------------------------------------------------------------------------------- /vendor/gopkg.in/gin-gonic/gin.v1/wercker.yml: -------------------------------------------------------------------------------- 1 | box: wercker/default -------------------------------------------------------------------------------- /vendor/gopkg.in/go-playground/validator.v8/.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled Object files, Static and Dynamic libs (Shared Objects) 2 | *.o 3 | *.a 4 | *.so 5 | 6 | # Folders 7 | _obj 8 | _test 9 | 10 | # Architecture specific extensions/prefixes 11 | *.[568vq] 12 | [568vq].out 13 | 14 | *.cgo1.go 15 | *.cgo2.c 16 | _cgo_defun.c 17 | _cgo_gotypes.go 18 | _cgo_export.* 19 | 20 | _testmain.go 21 | 22 | *.exe 23 | *.test 24 | *.prof 25 | *.test 26 | *.out 27 | *.txt 28 | cover.html 29 | README.html -------------------------------------------------------------------------------- /vendor/gopkg.in/go-playground/validator.v8/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/cookeem/godemo/8edc156a8d58d39c942b0533206602f8be6508fc/vendor/gopkg.in/go-playground/validator.v8/logo.png -------------------------------------------------------------------------------- /vendor/gopkg.in/yaml.v2/.travis.yml: -------------------------------------------------------------------------------- 1 | language: go 2 | 3 | go: 4 | - 1.4 5 | - 1.5 6 | - 1.6 7 | - tip 8 | 9 | go_import_path: gopkg.in/yaml.v2 10 | --------------------------------------------------------------------------------